/*********************************************************************************** * @fn HalUartPollUSB * * @brief The USB UART main task function. Should be called from the OSAL main loop. * * @param none * * @return none */ void HalUARTPollUSB(void) { #if defined HAL_SB_BOOT_CODE while (USBIF) usbirqHandler(); #endif halUartPollEvt(); halUartPollRx(); halUartPollTx(); }
/************************************************************************************************** * @fn P2INT_VECTOR * * @brief Intercept the USB's ISR here and consume locally if in boot loader, or forward * to a valid run-code image. * * input parameters * * None. * * output parameters * * None. * * @return None. ************************************************************************************************** */ HAL_ISR_FUNCTION( usbISR, P2INT_VECTOR ) { if (magicByte == SB_STACK_VALUE) { void (*usbFunc)(void); usbFunc = (void (*)(void))0x2033; usbFunc(); } else if (magicByte == SB_MAGIC_VALUE) { usbirqHandler(); } else { asm("NOP"); // Not expected. } }