PCIe, BAR0, and DMA Explained with QEMU
Published at September 24, 2025 · 9 min read
Deep dive into how PCIe BAR0 registers control DMA engines, how devices become Bus Masters, and how to debug the logic with QEMU and Linux kernel drivers.
👋 Embedded Systems & Linux Blog — Yair Gadelov
Here I share in-depth articles, practical guides, and personal insights from my work in embedded systems, Linux/Yocto BSP development, real-time firmware, and system-level software engineering.
You’ll also find explorations of adjacent domains — from kernel drivers and PCIe bring-up to data pipelines, machine learning for trading, and software architecture best practices.
Typical topics include:
This blog is both a knowledge base and a personal journal of my engineering journey —
from hands-on hardware bring-up to complex embedded Linux platforms and beyond.
PCIe, BAR0, and DMA Explained with QEMU
Published at September 24, 2025 · 9 min read
Deep dive into how PCIe BAR0 registers control DMA engines, how devices become Bus Masters, and how to debug the logic with QEMU and Linux kernel drivers.
Modular Data Injection Architecture for Embedded Systems
Published at September 5, 2025 · 5 min read
Designing a flexible and portable interface-based architecture for managing data injection across MCUs, Embedded Linux, and mock environments.
SWUpdate: build, sign & install a minimal .swu that updates only an app + config
Published at July 26, 2025 · 6 min read
Everything you need to reliably create, sign, (optionally encrypt), verify and install a .swu with SWUpdate — plus Lua/postinstall hooks, hashes, handlers, and troubleshooting.
Secure Boot Path: From BootROM to Userspace in ZynqMP and i.MX8
Published at July 18, 2025 · 5 min read
Understanding secure boot validation flow, FIT signatures, eFUSE keys, and runtime integrity from SoC reset to Linux userspace. Includes comparison between Xilinx ZynqMP and NXP i.MX8.
Securing U-Boot with FIT Signature and Key Injection on ZynqMP
Published at July 17, 2025 · 4 min read
Step-by-step guide to configure secure boot in U-Boot using FIT signatures, public key injection, and Yocto integration for ZynqMP and similar SoCs.
Installing Xen Support on Xilinx ZynqMP
Published at July 15, 2025 · 3 min read
Install Xen on Xilinx ZynqMP (ZCU102 Rev 1.1) using Yocto build with manual boot script and DTB setup. Step-by-step guide for SD card boot and static IP configuration.
Data streaming between two BLE devices: PSoc6 and nRF52832
Published at September 10, 2022 · 3 min read
Setup a peripheral-central BLE connection between Psoc6 and nRF52832 and stream data between them.
Published at March 3, 2022 · 2 min read
Implementation of WebSockets in c++ using lib WebSockets (lws) . There is a demo for Binance and Bitstamp.
Published at February 23, 2022 · 5 min read
Implementation of general-purpose use REST API server in c++ using restbed library
Published at November 18, 2021 · 3 min read
Simple steps to setup SD card on stm32 MCU