Firmware#
Firmware is the software that runs on the chip. The operator meets it as an OTA image to reverse, a vendor blob to patch, a boot ROM to dump, an embedded device to instrument. This section covers both sides of the trade: producing firmware (cross-compile it, scaffold it with a vendor SDK or RTOS, flash it through a physical programmer, debug it over JTAG / SWD) and analysing firmware (extract, dissect, diff). The hardware half of the bench discipline lives under Basics, Microcontrollers, and SBC.
Cross-compilers and build systems. arm-none-eabi-gcc,
avr-gcc, xtensa-esp32, CMake, Make, PlatformIO.
Vendor and community SDKs. Arduino, ESP-IDF, STM32Cube, Pico SDK, Mbed.
Real-time operating systems. FreeRTOS, Zephyr, ChibiOS, NuttX, RT-Thread.
The hardware that flashes chips. ST-Link, J-Link, CH341A, USBasp, BlackMagic Probe, CMSIS-DAP.
On-chip debug. OpenOCD, gdb, semihosting, ITM / SWO, RTT.
The firmware artifact itself. Extraction, reverse engineering, and format dissection. Ghidra, binwalk, JTAG dumps, dump-then-diff workflow.