Tagged: #Azure RTOS #Multi-core
January 15, 2022 at 01:48 #32032
We have created a custom embedded project in VisualGDB for our board, which will be using Azure RTOS. We have manually been able to setup the build process and it is working fine.
Now, we are using Segger J-Link to debug the application on our hardware. Is there any support for debugging the RTOS threads in VisualGDB or known plans for the same?
How about the other RTOS primitives like mutexes, events, etc.?
Also, is there any mechanism to check the execution state of each core in a multi-core target?January 16, 2022 at 10:14 #32037
We have recently added out-of-the-box Azure RTOS support to our STM32 BSP (see version 2022.01) and also updated VisualGDB to display AzureRTOS threads.
Please feel free to try this build: VisualGDB-184.108.40.20621.msi. The new functionality will also be available in the upcoming VisualGDB 5.6R3.
The visualization of RTOS primitives (mutexes, events, etc.) is not yet supported, however we will consider adding it in the future based on the popularity of AzureRTOS among our users.
If you are using Segger J-Link, it should normally present each core of a multi-core target as a separate thread, so VisualGDB would display their state out-of-the-box. If not, please let us know and we will investigate it further.January 16, 2022 at 13:18 #32038January 16, 2022 at 13:42 #32039
Visual Studio had basic support for embedded development since about 2018. It is comparable in functionality and usability to free tools like Eclipse and VS Code, however many non-trivial scenarios require lengthy manual setup and considerable ongoing effort to maintain a working environment. The recently added support for Azure RTOS continues the line and makes sense given the prior acquisition of ThreadX by Microsoft.
VisualGDB, on the contrary, focuses on usability, better IntelliSense engine with features like CodeJumps and Code Explorer, and also numerous advanced debugging and code analysis features. Hence, if you are looking for a basic development environment, you may find many free solutions good enough, but if you are considering non-trivial projects that could benefit from advanced tools, VisualGDB offers numerous ways of making your workflow more productive.January 16, 2022 at 22:27 #32041
Thanks, will give the new build a try.January 21, 2022 at 09:44 #32054
In an earlier reply to my original question, it was suggested that Segger J-Link should present each core of a multi-core target as a separate thread under VisualGDB. I’m seeing only a single thread. Is there any specific setting or configuration process to enable this?
My target is having two identical A7 cores. So, I want to run my application wherein my RTOS threads can be scheduled on any core, and I should be able to debug them. Is it possible using a single instance of Visual Studio, or do I require to open the same project in separate instances and debug each core separately?
I would ideally prefer a single instance to debug both the cores.
You must be logged in to reply to this topic.