1) создал асмову обложку
Код
RSEG ICODE:CODE
CODE32
EXTERN vUSARTISR
PUBLIC vUSARTISREntry
#include "ISR_Support.h"
vUSARTISREntry:
portSAVE_CONTEXT
bl vUSARTISR
portRESTORE_CONTEXT
END
2) объявил
Код
extern void vUSARTISREntry( void );
__arm void vUSARTISR( void );
3) обработчик
Код
__arm void vUSARTISR(void)
{
write_char_USART0 ('A');
USART_pt->US_CR = AT91C_US_RSTSTA;
}
4) в инициализации USART-а добавил
Код
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_US0, USART_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, ( void (*)( void ) ) vUSARTISREntry);
AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_US0);
Вроде все на месте а не фурычит