-
What we've been reading in September (2020)
Here are the articles, videos, and tools that we’ve been excited about this August and September.
-
Faster Debugging with Watchpoints
In this post we will explore how to save time debugging by making the most of watchpoints. We will walk through a few classic use cases of watchpoints by debugging an example application with GDB. Then, we will dive into how watchpoints are implemented for ARM Cortex-M based MCUs with the Data Watchpoint & Trace (DWT) unit and explore some advanced features.
-
Secure firmware updates with code signing
In this post, we explain why firmware signing is important, how it works, and what algorithm should be used to implement it. We also detail a full implementation built with open source, cross platform libraries.
-
Monitoring Fleet Health with Heartbeat Metrics
In this post, we lay the foundation for how an organization should instrument their embedded firmware to measure performance, stability, and the overall “health” of each device and an entire fleet of devices. We also compare and contrast the various approaches projects generally take to surface these metrics and I’ll discuss why I believe heartbeat metrics are the best method for driving product decisions.
-
Parsing Logs Messages for Instant Crash Analysis
Having a logger display execution information on the terminal is pretty common for firmware developers. What’s less common is having an instant stack trace when the program crashes.
-
What we've been reading in July (2020)
Here are the articles, videos, and tools that we’ve been excited about this July.
-
Step-through debugging with no debugger on Cortex-M
This week we explore how to debug running systems with ARM Cortex-M’s DebugMonitor exception handler. We cover how to configure the MCU to operate in this mode and walk through an example of installing breakpoints and single-stepping on a running device!
-
How to Build Drivers for Zephyr
by Jared WolffIn this post, I’ll go over some of the nuances related to creating drivers for your peripherals on Zephyr. We’ll talk about Device Tree organization,
Kconfig
, andCMakeLists.txt
files. By the end, you should have an idea on how to tackle your own Zephyr driver aspirations!