I got problems with my DualCore Application. I am using a lpc4357 and want freeRTOS running on the M4 and M0.
Of cause I worked myself through the blinky examples (lpcOpen).
On the M4 I got freeRTOS running with emWin displaying some Graphs on a display. So everything’s ok there
On the M0 I tried to get some tasks running. I configured the RIT-Timer to call the sysTick-Function, that’s working.
So I expected that everything would work on the M0, but it looks like my pendSV-Handler is shooting trouble.
It causes my Program Counter to run into a Memory Section, where no Code is stored. My Programm Code starts at 0x1b000000 (Flash Memory) while the programm jumps to 0x000000ce (Datasheet: 256 MB Shadow Area) and stops there. Unfortunatly I am not able to do single step through the ASM-Code (I use GNUC Compiler with Red Suite / Red Probe+).
When I am stopping inside the Handler using a breakpoint, the programm does not run into the wrong section directly. The program jumps into the Handler again and again. When I deactivate the breakpoint and suspend the application, the program ends up in 0x000000ce. But I am not able to get more details about the “bad moment”.
As I understand (correct me if I am wrong) the pendSVHandler is responsible for the context switching, so I assume there occurs an error while storing or loading the correct PC. Is it possible, that there is sth. wrong within the assembler code, or is the reason for the problem somewhere else? (Maybe memory allocation?)