I'm trying to port an RTOS - Novos PPS - to an LPC812, but somewhat unsuccessfully. I was able to get FreeRTOS ported to it, but it runs out of program space if I use mutexes in addition to threads. Not terribly shocking, that. But one thing I noticed in debugging the Novos project was that in the "Heap and Stack Usage" panel, that project has defined heap and stack limits. The Novos context switching absolutely destroys the stack, which is part of why it's not working. But when testing the working FreeRTOS project, looking for similar behavior, I don't even see defined values for heap and stack in that panel. A third "blinky" project also doesn't have defined heap and stack. I created all three projects in a similar manner, and don't know enough to specify where heap and stack values in the project configuration should go to set them. So, my question: how is the Novos project getting defined heap and stack limits at all? Is it something in the code that I'm overlooking? A #pragma or some such?
Also, has anyone else had any luck getting Novos PPS to work on an LPC812? I've spent more time on it than I want, but I'm curious if anyone else got it to work.
Hi
If you use MCUXpresso IDE, take a look at MCUXpresso_IDE_User_Guide.pdf, 17.12 Modifying heap/stack placement.
Hope this helps,
Jun Zhang