strace is a diagnostic and debugging tool on Linux that allows you to trace the system calls made by a program during its execution. System calls are the interface between user applications and the kernel, enabling the programs to request services such as file access, process management, and memory allocation from the kernel. strace can be […]
Category: embedded linux
Adding Rust Applications to Yocto Images Using the meta-oe’s cargo class
If you want to use Rust for Linux system programming and build your system with Yocto, you’ll need clear steps to let Yocto build Rust code for another system and include it in the final image. You can add Rust support in different ways, but I prefer using Yocto’s built-in cargo class. With this method, […]
Real-Time and Safety on Cortex-R5: Integrating Firmware with Linux on the BeagleBone AI-64
Before we get into the BeagleBone AI-64’s TDA4VM, let me start with something more personal. The first microprocessor I ever worked with was a Z80. It wasn’t soldered onto a PCB or hidden under a heatsink. Instead, it sat fully exposed on a breadboard, with the address bus, data bus, control lines, and all the […]
Embedded Firewalls ( Part 2)
In Part 1, I told a little bit of a story. We left the “stupid black boxes” era behind, looked at why embedded devices must have network-level protection, and then unpacked how and why Linux firewalls work with nftables, and why it’s a much cleaner, modern approach compared to the old iptables/xtables world.We also mapped […]
Embedded Firewalls ( part 1 )
For a long time, embedded devices were just “stupid black boxes”, especially in domains like industrial control and automotive. To be fair, in their own time, these systems were impressive engineering feats. But compared to today’s connected and software-heavy platforms, they really were “stupid”: no networking, no remote access, and therefore not much to secure. […]