Issues Debugging FreeRTOS with J-Link
Having some issues trying to debug a FreeRTOS project using JLink, using an STM32U5G9 (Riverdi 5" Display Board)
If I enable "serverRtos" in the launch configuration:
"configurations": [
{
"type": "jlinkgdbtarget",
"request": "launch",
"name": "STM32Cube: STM32 Launch JLink GDB Server",
"origin": "snippet",
"cwd": "${workspaceFolder}",
"preBuild": "${command:st-stm32-ide-debug-launch.build}",
"runEntry": "main",
"serverSpeed": "12000",
"serverRtos": {
"enabled": true,
"port": "60000",
"driver": "freertos",
"driverPort": "ARM_CM33_NTZ"
},
"preRunCommands": [
"monitor exec SetRTTSearchRanges 0x200bb800 0x234800"
],
"imagesAndSymbols": [
{
"imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}"
}
]
}
]And then try to start a debug session, i get a disconnect error:
Reading 20 bytes @ address 0x200C2A5C
Read 4 bytes @ address 0x200C2A28 (Data = 0x200C2970)
Read 4 bytes @ address 0x200C2A58 (Data = 0x200BEA20)
Read 4 bytes @ address 0x200C2A6C (Data = 0x200C2A18)
Reading 16384 bytes @ address 0x200BEA20
RTOS proxy: Missing symbol: pxCurrentTimerList.
Lost connection to GDB Server
Read 4 bytes @ address 0x200C2A78 (Data = 0x00000018)
GDB closed TCP/IP connection (Socket 1028)
{"label":"","value":[{"label":"Driver","value":"freeRTOS"},{"label":"Kernel state","value":"Started"}]}
RTOS proxy: Proxy stopped.
RTOS proxy: C:\Users\artur\AppData\Local\stm32cube\bundles\rtos-proxy\0.17.0+st.3\bin\RtosProxy has exited with code 0Remote communication error. Target disconnected: error while reading: No error.
GDB response with no command: 14
Restoring target state and closing J-Link connection...
Shutting down...
cube has exited with code 0
It complains about not finding "pxCurrentTimerList" although it is present in the map file (I even created a rtos timer on purpose to make sure that there where timers in use).
Already using J-Link bundle pack 8.38.0+st.1 as recommended by https://community.st.com/t5/stm32cubeide-for-visual-studio/cannot-start-rtos-aware-debug-session-using-j-link/m-p/870735/highlight/true#M1827.
Also added the code suggestion indicated in https://community.st.com/t5/stm32cubeide-for-visual-studio/stm32cube-rtos-state-not-showing-all-queues-semaphores/m-p/865915/highlight/true#M1708 since initially was also complaining about missing "xQueueRegistrySize".
The processor I am using is a STM32U5G9, does the "serverRtos" has a limitation on the RAM range where it tries to fetch this kind of data? Something similar to an issue with Segger RTT that the auto-discovery of RTT Block is limited in range by default. This because at the moment I am reserving a big block of RAM starting at base address for the display buffer.
Thank You
