5 Debugging Techniques for the ARM Cortex-M MCU

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

Amazon FreeRTOS: Behind the Scenes

I recently wrote an article for entitled “A Peek Inside Amazon FreeRTOS” where I started to analyze the high-level behavior that the Amazon FreeRTOS application exhibits while running on an STM32F475 IoT Discovery Node. In this post, I will continue the analysis by demonstrating how a developer can follow the communication flow and examine … Continue reading Amazon FreeRTOS: Behind the Scenes

CEC – Building Your Own Internet Connected PLC

Programmable Logic Controllers (PLC’s) are the foundation for manufacturing and the industrial IoT. Developers are probably used to purchasing off-the-shelf PLC controllers, but it is possible to build a simple low-cost PLC controller using microcontroller components. In this course, we will explore PLC fundamentals and how we can create our own internet connected PLC controller … Continue reading CEC – Building Your Own Internet Connected PLC

Know thy compiler toolchain

An embedded systems engineer is only as good as their knowledge of the tools they use. Using the right tool for the job can drastically speed up development but doesn’t necessarily ensure success. The developer needs to understand the intricacies of the tool in order to be successful. Take for example an apparently simple task … Continue reading Know thy compiler toolchain