Module 4 of 10

Toolchains & Version Control

Lessons

About This Module

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.

Lessons

4 videos
01

Embedded Software Build Process: Cross-Development, Object Files, and Linking

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.

02

Getting Started with PlatformIO

Installing PlatformIO in VS Code and using it with Arduino Uno, ESP32, and XIAO boards, including library management and the platformio.ini project file.

03

Debugging Embedded Devices Using GDB

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.

04

Git and GitHub for Beginners: Crash Course

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.