Roadmap / Firmware
MCU Firmware
One register bit turns on a pin, runs a timer, moves a motor. This is the core of embedded development.
Goal Configure MCU peripherals from the datasheet alone.
- 01Development environment
Set up STM32CubeIDE, a compiler and a debugger, and light one LED.
- 02Registers versus HAL
Driving registers directly or through a HAL, and when to use which.
- 03GPIO
Input and output, push-pull and open-drain, internal pull-ups, at register level.
- 04Clock tree
HSE, PLL, prescalers: where the clock comes from and how it is divided.
- 05
- 06
- 07Interrupts and the NVIC3D lab
Priorities, why handlers stay short, and shared variables.
- 08
- 09Using DMA
Moving ADC values and UART data to memory without the CPU.
- 10Watchdog and low-power modes
A watchdog that resets a hung program, and sleep modes for battery devices.
- 11Writing Flash and EEPROM
Keeping settings across power cycles, and write-cycle limits.
- 12Bootloader
How firmware updates itself, and how memory is partitioned.