I inherited a Texas TIVA TM4C-based FreeRTOS multi-thread project. It's the first time for me managing such multi-task environment, I've only experienced single-thread programming with no OS. I'm in the need of debugging some strange behaviour in my application when debug session comes to FreeRTOS suspend function, i.e. I need to know which task is running, for how much time, which other task preempts it, and so on. In my debug perspective (CCS is based on Eclipse) I don't even see the task list. My debugger is the Segger J-Link. Any hint to get me started will be very appreciated, thanks.
2 Answers
There are a few FreeRTOS kernel aware debuggers around, including plug-ins for Eclipse, but I'm not sure if any will work with the Eclipse based CCS as they may require GDB. As you have a J-link you could probably use Segger Ozone to open the elf file created by CCS and use that. You always have the trace too option which is not compiler dependent: http://www.freertos.org/trace

- 3,081
- 11
- 9
Even when accepted answer was posted, Segger had provided RTOS plugin for thread-awareness in Eclipse.
Activate it on any eclipse-based IDEs in your "GDB SEGGER J-Link Debugging"->Debugger settings in field "Other options" adding "-rtos GDBServer/RTOSPlugin_FreeRTOS"
Here's a post from 2018 how to set it up
For more detailed views you can even have fancy GUI by Segger with forum posts dating back as far as 2016

- 379
- 3
- 13