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

Tools – OS-Aware Debugging

The greatest annoyance that I’ve ever encountered when developing embedded software is when I have to guess at what the software is doing. Back in the day, the best insight a developer could get into their application was to blink an LED and correlate it to the code that was executing. Today’s processors and development … Continue reading Tools – OS-Aware Debugging

Developing Reusable Firmware – A Practical Guide to API’s, HAL’s and Drivers

Developing firmware that can be reused is an important and critical skill. The majority of engineers and teams that I interact with are stuck constantly reinventing the wheel on every project that they work on. In order to help developers understand how they can create not just reusable application code but reusable firmware, down to … Continue reading Developing Reusable Firmware – A Practical Guide to API’s, HAL’s and Drivers

Hardware In-Loop Testing

Hardware In-Loop (HIL) testing runs the test case code on the target microcontroller rather than using a mocked software layer to act as the hardware. HIL testing can be extremely useful for verifying that hardware accesses from a HAL are working as expected and even test that all outputs from the system work as expected. … Continue reading Hardware In-Loop Testing

CEC – Debugging Real-time Embedded Software – Hands-on

Course Overview: The greatest challenge facing embedded system developers is debugging software. Embedded systems have become very complex systems running real-time operating systems, connectivity stacks, USB, security among a wide variety of other application code. Many engineers are still debugging using only break-points which is inefficient and won’t find most problems. In this course, Jacob … Continue reading CEC – Debugging Real-time Embedded Software – Hands-on