/************************************************************************************************** * @fn URXx/UTXx_VECTOR * * @brief Intercept the USART0 ISR's 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( halUart0RxIsr, URX0_VECTOR ) { if (magicByte == SB_STACK_VALUE) { void (*rxIsr)(void); rxIsr = (void (*)(void))0x2013; rxIsr(); } else if (magicByte == SB_MAGIC_VALUE) { halUartRxIsr(); } else { asm("NOP"); // Not expected. } }
/****************************************************************************** * @fn HalUARTPollISR * * @brief Poll a USART module implemented by ISR. * * @param none * * @return none *****************************************************************************/ static void HalUARTPollISR(void) { while(URXxIF) halUartRxIsr(); while(UTXxIF) halUartTxIsr(); }