FreeRTOS multi-threaded debug
After reading through some older posts and OpenOCD documentation, I found the easiest way to enable multi-threaded debugging when using FreeRTOS in a STM32Cube project, is to:
- In your Debug Configuration: In the Debugger tab, in the OpenOCD Options field, add the following line (including quotes)
-c “$_TARGETNAME configure -rtos auto”
- Unfortunately this resulted in an error about missing symbols, and had to be corrected by adding the following to FreeRTOSConfig.h file
//define missing uxTopReadyPriority symbol required by OpenOCD to a constant in tasks.c
#define uxTopReadyPriority uxTopUsedPriority
After this, I can see information about threads in my System Workbench Debug window:
Notes to System Workbench producers:
- Firstly, thank you for an awesome IDE. Words cannot express my gratitude!
- Any chance you can add a checkbox to enable #1 above?
- How about avoiding the need for #2? Or is the latter a request for STM32CubeMX producers?