I am working on a LPCXpresso 1227 board, which is a M0 device.
Looking at the official demo provided with FreeRTOS for other M0 devices(LPC1114 and STM32F051) I don’t see the following parameters in the “FreeRTOSConfig.h” file.
#define configKERNEL_INTERRUPT_PRIORITY #define configMAX_SYSCALL_INTERRUPT_PRIORITY
The documentations describes a reference method for handling interrupts by using semaphores to sync a task with the ISR and use portEND_SWITCHING_ISR().
My confusion arises when i look at the LPCXpresso support site over at NXP, where they are providing demos which make use of the configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY (at least they are defined in FreeRTOSConfig.h)
Another difference is that they dont include the following mapping…
#define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler
Which are present in the the official M0 port.
Can someone tell me, are both of them correct?
Why does the NXP demo omit the mapping of the IRQ handlers?
Why are settings for configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY not configurable in the official FreeRTOS port?
I am facing some frequent system hangs when using the LPC1200 Series demo at NXP site, my system uses UART and GPIO interrupts. Might be my code, but I wanted to understand this topic first. Thanks to anyone who helps.