-
GNU Build IDs for Firmware
In this post, we demonstrate how to use the GNU Build ID to uniquely identify a build. We explain what the GNU build ID is, how it is enabled, and how it is used in a firmware context.
-
Debugging Firmware with GDB
If I had to choose one significant aspect that I was not aware of before starting my career as a firmware developer, it would be how much time is spent not actually developing, and instead debugging firmware!
-
From Zero to main(): Bare metal C
Throughout the Zero to main() series of posts, we demystify what happens between when power is applied and your main function is called. In the process, we’ll learn how to bootstrap a C environment, implement a bootloader, relocate code, and more!
-
Programming the ATSAMD21 with IBDAP
In the process of porting a blog post from the retired Arduino M0 Pro to Adafruit’s excellent Metro M0 Express, I ran into a few issues and scant amount of documentation. I’m writing this for the next poor soul wrestling with these systems.
-
Practical Zephyr - West workspaces (Part 6)
In the previous articles, we used freestanding applications and relied on a global Zephyr installation. In this article, we’ll see how we can use West to resolve global dependencies by using workspace applications. We first explore West without even including Zephyr and then recreate the modified Blinky application from the previous article in a West workspace.
-
Standout Exhibits at Embedded World 2024
In this post, I will share the technologies I saw at Embedded World 2024 that I was most impressed by. I was lucky to have plenty of time to walk from booth to booth, and had some fantastic conversation that I hope you will find interesting.