spurious interrupts not simlated in arm7
By the way, I resolve the problems by 1. use the software interrupt to start serial port transmission.
void __irq UART0Isr (void) { uint8 i; VICSoftIntClear = 1<<ISN_UART0; ..... } void putch(uint8 dat) { while( ! uart0_xmit_queue.Add(dat)) { } if((U0LSR & 0X20) == 0X20) { VICSoftInt = 1<<ISN_UART0; } }
void __irq DefIrq() { } void SetDefaultIrq() { VICDefVectAddr = (uint32)DefIrq; }