U-Boot - Bootloader for IoT Platform?
summary
Ported and trimmed U-Boot to run on a constrained IoT board and fits into 200 kB ROM and 100 kB RAM. Shrinking uses Kconfig to drop drivers, GCC flags -ffunction-sections/data-sections plus linker GC, and tools like size and bloaty to find waste. Reduced default buffers (FAT cluster from 64 kB to 4 kB, USB DMA from 64 kB to 16 kB), implemented skip-relocation with linker VMA/LMA layout, and boots bare‑metal binaries via FAT load + go.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:42Target platform overview
- 5:39Memory architecture
- 8:46Initial U-Boot porting
- 10:40Memory optimization
- 13:14Fixing BSS and finalizing
- 16:43Running U-Boot from ROM
- 20:11Linker script modification
- 27:13Debugging USB driver issues
- 29:40Fixing stack and file system
- 35:31Q&A and final conclusions








