Page 1 of 1

Deugging ChibiOS application

Posted: Sun Mar 19, 2023 10:46 am
by ptihanyi
Hi all!
I have been developing for STM32F4, -L4 and -F7 microcontrollers for a few years, mainly based on FreeRTOS. Currently I am getting familiar with ChibiOS.
I use STM32CubeIDE for development, I also use it for ChibiOS (although ChibiStudio is great!).
I have some questions about debugging:
- I use Segger Ozone primarily. Has anyone managed to get the ChibiOS plugin to work? This would be the most important for me...
- When debugging in ChibiStudio, why is there only one thread in the "Debug" window?
- Is it possible in ChibiStudio to switch between threads when debugging (after pause)? With FreeRTOS, I can look at the call stack of each thread and step through it.

For debug probe I have Segger J-Link EDU, ST-LINK/V2 and ST-LINK/V3.
As I am not yet very confident with ChibiOS/RT, it would be really important for me to do the in-depth debugging that I am used to with FreeRTOS.

Thank you in advance for your answers and advice!

Re: Deugging ChibiOS application

Posted: Sun Mar 19, 2023 12:41 pm
by Giovanni
Hi,

ChibiStudio includes a debug plugin specific for ChibiOS, it allows to inspect threads, timers, statistics, traces and other things. The plugin can be installed in other Eclipse-based environments too.

OpenOCD also implements ChibiOS support but it is stuck to RT6 support, RT7 has still to be implemented.

Try the various guides on playembedded.org, there is a lot of informative material there.

Giovanni

Re: Deugging ChibiOS application

Posted: Sun Mar 19, 2023 1:26 pm
by RoccoMarco
Hi Ptihanyi,
as Giovanni mentioned, I wrote a guide on PLAY Embedded. I am planning to update it but it still provides a great reference
Debuggin on STM32 with ChibiStudio

If you end to read it, please provide feedback so that I can revise it for the better.

Re: Deugging ChibiOS application

Posted: Sun Mar 19, 2023 6:19 pm
by steved
One optimisation option I rarely see mentioned is -Og. This provide some optimisation over -O0, but in a manner which doesn't confuse debugging in the same way as -O2. For me, it reduces code size by 15-20%, which is a very worthwhile saving in download time on a 1MB program.

Re: Deugging ChibiOS application

Posted: Sun Mar 19, 2023 8:59 pm
by ptihanyi
Thanks for the advice!
In the meantime, I did some more research: the javascript OS-awareness plugin used in Segger Ozone supports ChibiOS/RT 6.x.
The J-Link RTOSPlugin_ChibiOS.dll also only supports 6.x.
In theory, the Ozone js plugin could be modified to work with 7.x. I might give it a try, it might be good for a challenge.
I read the recommended article, very thorough description! I really like the whole PLAY Embedded thing! It's rare to find such a comprehensive knowledge base on MCU. You can see that a lot of work has gone into it.
ChibiStudio is a really well put together Eclipse distribution, but if possible I would stick with STM32CubeIDE. There are a few plugins I like to use (Static stack analyzer, SWO plugins, FreeRTOS-aware plugins). These would be missing. I will try to install the plugins from ChibiStudio.

Re: Deugging ChibiOS application

Posted: Sat Mar 25, 2023 9:32 am
by RoccoMarco
Hi steved, thanks for mentioning Og. I did not look into these options thoroughly. I will do this when I will rework the debugging guide.

Thanks ptihanyi, I can assure indeed that PLAY Embedded takes a lot of my time but is a very rewarding activity. I am very open to ideas an suggestions

Connect with me on LinkedIN and if you want to get an email when a new article comes out subscribe to the newletter or follow PLAY Embedded on Linkedin

About the newsletter do be afraid of spam. I write the newsletter manually and I hate spam