How to debug FreeRTOS and OpenRTOS applications [application note]

Posted by Magnus Unemyr on Jun 4, 2015 9:37:00 AM

FreeRTOS is one of the most popular real-time operating systems in recent years. (OpenRTOS is technically identical to FreeRTOS but is sold as a commercial product.)

Many Cortex-M developers adding FreeRTOS to their STM32, LPC or EFM32 projects. But what about tool support? Professional developers need professional compiler and debugger IDEs and kernel-aware debug support for FreeRTOS in the IDE. We have written an application note about using this feature in the TrueSTUDIO IDE.


The RTOS kernel awareness features for FreeRTOS in ARM Cortex IDEs like Atollic TrueSTUDIO provide the developer with a detailed insight into the internal data structures of the FreeRTOS operating system kernel. The RTOS contains a number of objects that needs to be inspected at various times during debugging, for example:

  • Task status
  • Queue status
  • Semaphore status
  • Timer status

During a debug session, the current state of the FreeRTOS kernel and the various FreeRTOS kernel objects such as tasks, mailboxes, semaphores and software timers, can be easily inspected in a set of dedicated views. This capability is essential when stopping on a breakpoint for example.


Debugging an RTOS-based embedded application without proper tool support can be a nightmare, and proper debug support for the RTOS being used should be an essential part of the tool.  The alternative is "blind debugging" and a lot of guesswork.

Learn more about FreeRTOS debug support in Cortex-M development tools and Atollic TrueSTUDIO. Read our free app note!

Read our FreeRTOS debugging AppNote!


Topics: ARM Cortex, Debugging, Atollic TrueSTUDIO, RTOS