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?
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.
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
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);