Hi,
I would like to draw attention to uartIsr() in TI biospsp_03_00_01_00 uart drivers.
The uartIsr is the ISR for both TX and RX. It first reads the IIR register and then posts the SWI depending on whether the "receive data is available" or "transmitter holding register empty" bits are set in IIR.
The case when both TX and REC occur simultaneously the TX interrupt will not be serviced since the ISR will first attend to receive interrupt and then read the IIR again. Reading IIR clears any THR empty (THRE) interrupts that are pending.
Thus the THR empty interrupt is lost and TX will block indefinitely.
Solution would be to move the TX case a level up in the if/else statement.
Regards,
Ashish