Note: the picture shows a preproduction board. The board available from Farnell/element14 has the components placed slightly differently. See this post.
Running an RTOS on a microcontroller with 32 KByte of Flash and 4 KByte of RAM is somewhat challenging, but certainly possible for a small Kernel like FreeRTOS. Right now I’m using less than 1 KByte RAM in the project, so plenty of room for extensions.
As outlined in this post, I have changed the project settings so it is using the QFN32 package:
The application creates one task which toggles the red RGB LED, while the IDLE task toggles the green LED. The whole application fits into less than 1 KByte of RAM and less than 4 KByte of FLASH. While it would be possible to even more reduce the footprint as outlined in this post, I kept things simple so the project can be easily used as a starting point for any RTOS enabled project on the Kinetis KL05.
The board has a 32 kHz crystal on it. I have configured the clock to use the FEE mode in order to reach the a 48 MHz core clock and a 24 MHz bus cock:
The example project is available on GitHub here.
Happy Freedom 🙂