Supporting Legacy Firmware When the Original Developers Are Gone

Legacy firmware has a specific way of becoming a problem. Nobody sets out to leave a system undocumented – it happens gradually, as the people who understood it move on, the reasoning behind its design decisions goes unrecorded, and the code itself becomes the only remaining record of what the system actually does. Eventually something […]

From Working Prototype to Deployment-Ready Product: Closing the Robustness Gap

A prototype that works in the lab is a genuine achievement, and it’s also a much smaller achievement than it feels like at the time. The gap between a proof of concept that behaves correctly under controlled conditions, on a bench, with an engineer watching it, and a product that behaves correctly in the field, […]

Yocto vs Buildroot: Choosing an Embedded Linux Build System

Every embedded Linux product depends on a build system that produces the kernel, bootloader, and root filesystem that ship. In practice, the shortlist has two names: Yocto and Buildroot. For most products the choice is made earlier than teams expect, when the processor is selected, because silicon suppliers deliver their Linux support built around one […]