Start From What You Are Curious About#
The book builds up from Chapter 1, but you do not have to read it in order. Pick whatever you are curious about below. If you run into a term you do not know, go back to an earlier chapter at that point.
I want to see it running first#
The same firmware as on the real board, running in QEMU inside your browser. Nothing to install.
The trained walking policy in a physics simulation. Steer it forward and turn with sliders.
“Why?” about the computer you use every day#
Chapter 4: a timer interrupt forcibly switches the running task.
Chapter 6: catch a divide by zero or a write to a bad address, and stop only the task that caused it.
top and Task Manager count CPU %?Chapter 7: show the CPU usage the OS counts on the LED matrix.
Chapter 1: follow the path from reset to main().
malloc?Advanced 3: write malloc / free yourself.
Advanced 4: put a filesystem on top of the flash memory.
Start from what you like#
Chapter 13: drive eight servos from your own OS to walk a quadruped. Parts and assembly are in Quadruped Assembly.
Chapter 11: build a small Python that runs on the microcontroller. Chapter 8 before it builds an even smaller language.
Chapter 10: solve the same problem with FreeRTOS and compare the designs.
Chapter 12: understand PWM generation and A/D conversion at the register level.
I want to break something that works#
Chapters 4, 6, and 7 end with “break it” experiments: change one place in the code, predict what will happen, then run it. They also work in the browser version.