2

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.

MMM
  • 35
  • 7

2 Answers2

2

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

Richard
  • 3,081
  • 11
  • 9
0

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

stiebrs
  • 379
  • 3
  • 13