[an error occurred while processing this directive]
|
Писал путем наращивания примера, скачанного вместе с портом для LPC2138
MEMMAP = 2;
BSP_IRQ_VECTOR_ADDR = 0xE59FF018;
BSP_IRQ_ISR_ADDR = (INT32U)OS_CPU_IRQ_ISR;
BSP_FIQ_VECTOR_ADDR = 0xE59FF018;
BSP_FIQ_ISR_ADDR = (INT32U)OS_CPU_FIQ_ISR;
BSP_UNDEF_INSTRUCTION_VECTOR_ADDR = 0xEAFFFFFE;
BSP_SWI_VECTOR_ADDR = 0xEAFFFFFE;
BSP_PREFETCH_ABORT_VECTOR_ADDR = 0xEAFFFFFE;
BSP_DATA_ABORT_VECTOR_ADDR = 0xEAFFFFFE;
BSP_FIQ_VECTOR_ADDR = 0xEAFFFFFE;
VICIntEnClear = 0xFFFFFFFF;
VICProtection = 0;
VICVectAddr0 = \
VICVectAddr1 = \
VICVectAddr2 = \
VICVectAddr3 = \
VICVectAddr4 = \
VICVectAddr5 = \
VICVectAddr6 = \
VICVectAddr7 = \
VICVectAddr8 = \
VICVectAddr9 = \
VICVectAddr10 = \
VICVectAddr11 = \
VICVectAddr12 = \
VICVectAddr13 = \
VICVectAddr14 = \
VICVectAddr15 = 0;
VICVectCntl0 = \
VICVectCntl1 = \
VICVectCntl2 = \
VICVectCntl3 = \
VICVectCntl4 = \
VICVectCntl5 = \
VICVectCntl6 = \
VICVectCntl7 = \
VICVectCntl8 = \
VICVectCntl9 = \
VICVectCntl10 = \
VICVectCntl11 = \
VICVectCntl12 = \
VICVectCntl13 = \
VICVectCntl14 = \
VICVectCntl15 = 0;
VICIntSelect &= ~(1 << VIC_UART1);
VICVectAddr0 = (INT32U)UART1_ISR_Handler;
VICVectCntl0 = 0x20 | VIC_UART1;
VICIntEnable = (1 << VIC_UART1);
VICIntSelect &= ~(1 << VIC_TIMER0);
VICVectAddr2 = (INT32U)Tmr_TickISR_Handler;
VICVectCntl2 = 0x20 | VIC_TIMER0;
VICIntEnable = (1 << VIC_TIMER0);
void OS_CPU_IRQ_ISR_Handler (void)
{
PFNCT pfnct;
#if 1
pfnct = (PFNCT)VICVectAddr;
if (pfnct != (PFNCT)0) {
(*pfnct)();
}
#else
pfnct = (PFNCT)VICVectAddr;
while (pfnct != (PFNCT)0) {
(*pfnct)();
pfnct = (PFNCT)VICVectAddr;
}
#endif
}
E-mail: info@telesys.ru