A week ago, the updated FreeRTOS V7.5.0 has been released on FreeRTOS.org. So time to have my Processor Expert FreeRTOS component updated as well :-).
Supported Microcontroller, Compilers and Tool Chains
The Processor Expert component supports now the following Freescale architectures (DSC support is still experimental)
- ColdFire V1 and ColdFire V2
- Kinetis K and L (Cortex M0+, M4 and M4F cores)
Following compilers/tool chains are supported, where Keil µVision has been recently added:
- CodeWarrior for MCU 10.x (Eclipse based): GCC and Freescale Compilers
- CodeWarrior for MCU 6.x (classic IDE)
- Processor Expert Driver Suite 10.x
- IAR Embedded Workbench 6.x for Kinetis/ARM
- Keil µVision 4.x for Kinetis/ARM
- CodeRed Red Suite 5
Keil µVision 4.x is now officially supported with FreeRTOS, and an example project can be found on GitHub here.
V7.5.0 comes with improved and multiple scheduling support. I noticed that the code size of my application was reduced by a few hundred bytes by this which is always welcome.
There has been a few other API and source changes:
vTaskGetRunTimeStats()are now considered ‘legacy’. I’m still using them in my Shell command line interface implemenation, but they will be replaced with using the more portable
vTaskIncrementTick()is now called
xTaskIncrementTick(), as it returns now a value. The return value tells the caller if a context switch shall happen. This is reflected now in all ports supported.
- New function
uxTaskGetSystemState(), see http://www.freertos.org/uxTaskGetSystemState.html
xQueueOverwrite(), see http://www.freertos.org/xQueueOverwrite.html
- The RTOS core is PC-linted, and compiles without warnings on supported compilers.
Additional details are in the FreeRTOS release notes.
Queue sets had been added in FreeRTOS 7.4.0, and have now an UI in the Processor Expert component. Queue sets provide a mechanism to allow an RTOS task to block on a read operation from multiple RTOS queues or semaphores simultaneously.
As using queue sets add some overhead, it is disabled by default:
If enabled, the Queue Set API functions are enabled too:
The Processor Expert FreeRTOS component has been upgraded to the latest version of the FreeRTOS with many improvements. With a single Processor Expert component, 7 different Freescale microprocessor families, 5 IDE’s and 7 different compilers are supported :-).
I have exported the components as *.PEupd files on GitHub.
Happy Updating 🙂