i have running a board with the NXP LPC2290 with FreeRTOS and want to
use the CAN Controller.
For me it seems to be a strange contruction of the Interrupt-Handling
of this uC. The uC has two IRQ’s (Tx an Rx) connected to two Interrupt-
vectors but only one Interrupt-capture-register. So I don’t know how to
handle this interrupts because when i am reading the interrupt-capture-
register this interrupts are cleared. So i must handle the Tx-ints
during Rx-ISR-call and Rx-Ints during Tx-ISR-call - strang - does
someone have already implemented a CAN-driver with both Interrupts or
does someone know how to solve this ?
I connected the Rx-Int to IRQ-Prio 2 and the Tx-Int to Prio 3 so the Rx-
Int is able to interrupt the Rx-Int and the function will nest.
May be, is it possible to use only one Irq for both Tx and Rx-
The ISR are instrumented with teh FreeRTOS-Macros portENTER_SWITCHING_ISR() and portEXIT_SWITCHING_ISR( 1 ) as required from FreeRTOS.
The symptom is that I am getting an programe abort exception and i guess that the nested ISR are creating it.
I searched the whole web in order to find a solution but i didn’t find
I hope that someone can help me solving this problem or maybe someon have already coded it with FreeRTOS ?