Interrupt handler issues in the LPC1114 examp

fjrg76 wrote on Wednesday, November 14, 2012:


I downloaded the latest release, 7.3.0, and while trying to work with the LPC1114 example for the LPCXpresso toolchain, my little application hanged at the SVC_Handler handler interrupt.

After digging into the source code I found that changing this line

#define vPortSVCHandler SVCall_Handler

for this other one

#define vPortSVCHandler SVC_Handler

(FreeRTOSConfig.h, line 143)

make my application to run nicely and smoothly.

Is that a bug?


rtel wrote on Wednesday, November 14, 2012:

No, it comes about because CodeRed did not have the correct CMSIS names for their default handlers, so the names in their default vector tables was different.

SVC_Handler is the standard name, so it looks like CodeRed have changed their code.


fjrg76 wrote on Wednesday, November 14, 2012:

I got it!!

So the example was written when the default’s handler names were different. Then, later on, CodeRed changed their names to the standard ones?

This is a short list of interrupt handler names that are found in **cr_startup_lpc12xx.c **(LPCXpresso 5.0.10)

     void ResetISR(void);
WEAK void NMI_Handler(void);
WEAK void HardFault_Handler(void);
WEAK void SVC_Handler(void);
WEAK void PendSV_Handler(void);
WEAK void SysTick_Handler(void);
WEAK void IntDefaultHandler(void);