📘 从Bootloader到应用 · 全栈实战
🎯 30章 · 嵌入式专家之路
v2.0
01
Bootloader基础概念
核心
什么是Bootloader、嵌入式角色、常见类型 (U-Boot, GRUB…)
02
嵌入式系统启动流程
启动链
复位向量→OS启动、NOR/NAND Flash、SD卡启动模式
03
链接脚本与内存布局
.ld
链接脚本作用、代码段/数据段/BSS/堆栈、自定义脚本
04
汇编基础与启动代码
Reset_Handler
ARM/Thumb指令集、启动汇编、设置栈指针、跳转main
05
时钟系统与初始化
PLL
系统时钟树、PLL配置、时钟源选择、外设时钟使能
06
GPIO驱动开发
寄存器
GPIO寄存器、推挽/开漏、上下拉、GPIO中断
07
UART串口通信
printf
UART协议、波特率配置、收发实现、printf重定向
08
中断系统与NVIC
优先级
中断向量表、优先级、嵌套、SysTick定时器
09
定时器与PWM
捕获/比较
通用定时器、输入捕获、输出比较、PWM生成
10
ADC与DAC
采样·波形
ADC采样原理、DMA传输、DAC波形生成
11
SPI总线通信
Flash
SPI协议、主从模式、全双工、SPI Flash驱动
12
I2C总线通信
EEPROM
I2C协议、起始/停止、应答、EEPROM驱动
13
DMA控制器
传输模式
内存到外设、外设到内存、内存到内存
14
Flash & FATFS文件系统
存储
Flash读写、坏块管理、FATFS移植与使用
15
Bootloader核心功能
校验·加密
CRC32/MD5校验、AES加密、LZSS压缩
16
固件升级协议设计
YModem
自定义YModem、分片传输、断点续传、超时重传
17
双备份启动策略
A/B分区
A/B分区切换、回滚机制、版本管理
18
安全启动与信任链
RoT
数字签名、安全哈希、信任根、防回滚保护
19
RTOS基础 — FreeRTOS
任务
任务创建、调度、状态、优先级
20
RTOS同步与通信
信号量·队列
信号量、互斥锁、消息队列、事件标志组
21
RTOS内存管理
堆栈
堆栈管理、静态/动态分配、内存碎片处理
22
RTOS中断管理
临界区
中断与任务同步、延迟中断处理、临界区保护
23
应用层架构设计
分层
HAL/Driver/Middleware/App、模块化、接口抽象
24
设备驱动框架
设备树
字符/块设备驱动、设备树(Device Tree)概念
25
网络协议栈移植
LwIP
TCP/IP、Socket编程、HTTP服务器
26
USB设备驱动
HID/MSC
USB协议、设备枚举、HID/MSC、USB DFU升级
27
低功耗设计
睡眠·待机
睡眠/待机模式、唤醒源、DVFS
28
调试与性能优化
JTAG/GDB
JTAG/SWD调试、GDB、性能分析、代码优化
29
单元测试与持续集成
CI/CD
CUnit/Unity、自动化测试、Jenkins/GitLab CI
30
项目实战:智能家居网关
全栈
需求分析、系统设计、Bootloader+应用、集成测试、量产