Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Foreword: Welcome to the Edge

If you have spent your career building web applications, enterprise backends, or mobile apps, you are used to the operating system handling the messy details of reality. If a network packet is delayed by 50 milliseconds because the Linux kernel decided to flush a disk cache, a video might buffer for a split second. The user barely notices.

In a Cyber-Physical System (CPS), time is a metric of absolute correctness. If your autonomous drone’s flight controller delays a motor actuation packet by 50 milliseconds, the drone doesn’t buffer—it crashes.

We are entering the era of CPS 2.0. We are no longer just building isolated embedded microcontrollers that blink LEDs; we are designing distributed, intelligent metasystems that merge Operational Technology (OT), Information Technology (IT), and Artificial Intelligence (AI) to control critical physical infrastructure. This book is your survival guide to the hardware-software interface. We are going to strip away the comfortable abstractions of virtual memory and general-purpose desktop operating systems. You are going to learn how to write C, Rust, and assembly code that commands the bare metal of 64-bit ARM and RISC-V processors,. You will learn how to configure a Direct Memory Access (DMA) controller, write a bulletproof Interrupt Service Routine (ISR), and implement the core of a Real-Time Operating System (RTOS). Finally, you will learn how to deploy AI models directly to the edge, running inference on custom domain-specific silicon.

However, embedded firmware does not run in isolation; it interacts with sensors, actuators, and other microcontrollers, all governed by physics that unfolds in continuous time. To ensure you can actually test these hard real-time concepts without the chaotic wall-clock scheduling jitter of a standard desktop OS, you will use the VirtMCU FirmwareStudio. VirtMCU is a deterministic multi-node simulation framework that lock-steps the execution of your firmware with a continuous-time physics engine. By using cooperative time slaving modes like slaved-icount and slaved-suspend, it ensures that QEMU’s virtual clock never free-runs, meaning your simulated drone flies (or crashes) exactly the same way on every single simulation run.

Put away the theoretical textbooks. Fire up your terminal. Let’s talk to the silicon.