Most of my projects are using FreeRTOS, and I’m using different Debug Probes (SEGGER, P&E and LinkServer) to debug NXP devices.
The NXP LinkServer debug connection is able to show the RTOS threads in Eclipse/MCUXpresso IDE which is incredibly helpful:
However, by default this is turned off. In this article I show how to turn this on by default.
By default, the LinkServer (e.g. LPC-Link2) debug connection uses the GDB ‘non-stop‘ mode (see GDB All-Stop and Non-Stop Mode with LinkServer). This mode is fine for updating/viewing variables (‘Live variabes‘) while running. But in that mode the FreeRTOS task threads are not shown.
Every time I create a new launch configuration for the LinkServer, it uses the non-stop mode by default:
In the above dialog I can change my mind, but if I missed it: I have to delete the launch configuration and create a new one. Not ideal.
I have found a better way: changing the default, and there is a setting for this in the Eclipse workspace settings:
The setting is under the workspace Preferences > MCUXpresso IDE > Debug Options > LinkServer Options > Miscellaneous > Enable Non-Stop Mode:
Disable that check box now creates launch configs with ‘all-stop’ mode instead:
With this, FreeRTOS threads are shown in the debug session:
Happy Threading 🙂
Links
- LinkServer debug modes: https://mcuoneclipse.com/2019/01/13/gdb-all-stop-and-non-stop-mode-with-linkserver/
- Better FreeRTOS Debugging: https://mcuoneclipse.com/2017/03/18/better-freertos-debugging-in-eclipse/
- MCUXpresso IDE V11.1.0: https://mcuoneclipse.com/2020/01/05/mcuxpresso-ide-v11-1-0/
- MCUXpresso IDE web page: http://www.nxp.com/mcuxpresso/ide
- MCUXpresso SDK web page: http://mcuxpresso.nxp.com/