Firmware is not built where it runs. You write and compile code on your computer, then move it onto a small chip, and the tools that make that possible are called the toolchain. Knowing what each step does, from compiling to linking to flashing, makes build errors much easier to read and fix.
You'll start with cross-development and the embedded build process, then set up a practical workflow with PlatformIO, which handles compilers, libraries, and uploads for many boards in one place. After that you'll learn to debug with GDB, so you can step through code on real hardware instead of guessing.
The module closes with Git and GitHub, the standard way to track changes, work with others, and keep a history of your firmware. Once you've finished, move on to GPIO, Timers & Interrupts to start controlling real hardware from your code.
How code written on a host computer becomes firmware for a different target: the cross-compiler, relocatable object files in ELF format, and how the linker combines them using the linker script.
Installing PlatformIO in VS Code and using it with Arduino Uno, ESP32, and XIAO boards, including library management and the platformio.ini project file.
A hands-on tutorial on the GNU Debugger for embedded targets, from native versus cross compiling to running GDB against a board and finding bugs.
What version control is and the core Git workflow: cloning, staging with add, committing, and pushing to GitHub, so every firmware change is tracked and shareable.