There are many techniques and processes that developers can follow in order to minimize the defects (bugs) that find their way into embedded software. No matter how carefully one develops their software, there is always going to be a few that sneak through and require us to troubleshoot (debug) the software. In this post, we … Continue reading Evaluating and Mastering Real-Time Debugging Techniques
On May 22nd, 2018, we ran an all day webinar series consisting of six different presentations which we ran for a total of nine sessions that covered the globe. There were quite a few different topics that were covered with a quick session overview listed below: Session 1 – Jump Starting Code Development to Minimize Software … Continue reading Embedded Online 2018 – Video and Presentation Links
The oldest, tried and true debugging technique is to sprinkle printf statements throughout embedded software in the hope that an insight to the system behavior will be gleaned. Using printf is not always advisable and can unforeseen real-time implications for the system. Let’s examine the fundamental issues with printf and then a few techniques that … Continue reading Getting the most performance from printf
Debugging embedded software is my least favorite activity but unfortunately a necessary evil. Thankfully recent advances in technology and tool chain innovation has resulted in a plethora of techniques to drastically speed up the debugging process. Let’s examine a few techniques starting from our traditional debugging by break-point through the more advanced instrument trace techniques. … Continue reading 5 Debugging Techniques for the ARM Cortex-M MCU
The debugger is arguably one of the most important tools available to embedded software engineers. The debugger is capable of not only loading firmware on a microcontroller but can peer into the depths of memory and registers, revealing its inner workings. Despite the debuggers importance, many developers overlook some of the most useful features of … Continue reading How well do you know your debugger?