• 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 conversations that I hope you will find interesting.

  • Practical Zephyr - Devicetree practice (Part 5)

    In the previous articles, we covered Devicetree in great detail: We’ve seen how we can create our own nodes, we’ve seen the supported property types, we know what bindings are, and we’ve seen how to access the Devicetree using Zephyr’s devicetree.h API. In this fifth article of the Practical Zephyr series, we’ll look at how Devicetree is used in practice by dissecting the Blinky application.

  • What we've been reading in March (2024)

    Here are the articles, videos, and tools that we’ve been excited about this March.

  • Diving into JTAG — BSDL (Part 4)

    In the previous article of this series, we briefly touched on how .bsd files written in Boundary Scan Description Language (BSDL) describe the structure of the boundary scan chain and the instruction set. In this article, we will examine this language’s syntax more closely before seeing how .bsd files are leveraged in JTAG testing in the next article.

  • Diving into JTAG — Boundary Scan (Part 3)

    In the third installment of this JTAG deep dive series, we will talk in-depth about JTAG Boundary-Scan, a method used to test interconnects on PCBs and internal IC sub-blocks. It is defined in the IEEE 1149.1 standard. I recommend reading Part 1 & Part 2 of the series to get a good background on debugging with JTAG before jumping into this one!

  • Differences Between ELF-32 and ELF-64

    The ELF object file format is one of the most commonly used today. Most build systems provide an output to this format, and ELF is commonly used to output coredumps. The format varies in subtle ways for 32-bit and 64-bit targets though, which can present problems for tools supporting both. This post will highlight the main differences and is intended as a quick reference for these differences.

  • What we've been reading in February (2024)

    Here are the articles, videos, and tools that we’ve been excited about this February.

  • Diving into JTAG — Debugging (Part 2)

    In this second part of a JTAG deep-dive series, we take an in-depth look at interacting with a microcontroller’s memory and engaging with the processor core and debug registers. While the use of JTAG in testing is fairly standardized when it comes to debugging, each processor architecture has its unique nuances. With that in mind, this article will focus on debugging using JTAG on the ARM Cortex-M architecture, specifically with the STM32F407VG microcontroller.