TruePERSPECTIVES_logo.png

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.

FreeRTOS_logo_v1

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.

FreeRTOS_KA-3

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