Category: embedded linux

System programming made easier: a practical guide to debugging with strace

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 […]

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. […]