2025-11-27 12:50 PM
Hello,
I am trying to use the STM32CUBE RTOS STATE panel within VSCode as opposed to setting a watch variable for xQueueRegistry, but the state panel does not match what is shown in the queue registry. Only the first queue is shown.
Also, I am curious how to get Semaphores to show up in the semaphores portion of the tree in the state panel. The semaphores I am using are binary semaphores which under the hood are just generic queues.
2025-12-08 5:46 AM
Hello,
For the Semaphores that are just generic queues, I would say it is normal to not see them as Semaphores.
But why we don't see all the Queues, I don't know.
I remember that we had an issue to list the registry queue.
Do you have a msg in console debug log like "Missing symbol: xQueueRegistrySize." ?
In order for RTOS_proxy to return objects (Semaphores and Queues) from the queue registry, your application must have this code :
uint32_t xQueueRegistrySize = configQUEUE_REGISTRY_SIZE;
Check that the code is not optimized because variable not used.
I had to add this line in the appli code :
uint32_t temp = xQueueRegistrySize;
The first line was added in global and this one in main.
Can you try this to see the queues.
Laurent
2025-12-18 10:42 AM
Hi Laurent,
xQueueRegistrySize was not defined. So I added the following lines of code to main.c as you suggested
Optimization is set to -O0, so nothing should be optimized out. But just to be sure, I checked that I could view temp, xQueueRegistrySize and xQueueRegistry as a watch variables.
There are three entries in the registry queue, but only QCAD is shown in the RTOS State panel.
Also, after flashing of the device, I still get this message "RTOS proxy: Missing symbol: xQueueRegistrySize."
I tried adding the xQueueRegistrySize variable as a global out (outside the int main(void) entry point), but when I do so I run into a different error that prevents the debug session from connecting. I think this is a different issue that I will create another post about.
2025-12-19 12:59 AM
Hello,
Here is where I have put the 2 lines, 1 before main and the temp inside main :