📘 SoC启动 · 固件开发

全解析 · 30章
🧩 30个模块 从复位到实战 🎯 ARM & RISC-V 📁 点击目录跳转章节
01
SoC定义、ARM Cortex-M/A · RISC-V、AHB/APB/AXI总线、常见外设IP
02
复位到Main函数、Boot ROM/Bootloader分工、启动模式(NOR/NAND/SD/UART)
03
Cortex-M向量表、复位向量、异常优先级、中断服务函数规范
04
Boot Pin配置、启动设备枚举、时钟/PLL/DDR控制器初始化
05
Boot ROM功能、硬件初始化序列、启动设备检测、安全启动校验
06
SPL作用、最小硬件初始化、DDR初始化、加载二级Bootloader
07
UBoot启动流程、ATF架构、FIP打包格式
08
设备树语法、dts/dtsi/dtb、绑定文档、中断与时钟属性
09
内存布局、段定义(.text/.data/.bss)、符号表、链接脚本实战
10
Reset_Handler、栈指针初始化、BSS清零、数据段拷贝、跳转Main
11
系统时钟树、PLL配置、分频器、时钟门控、低功耗切换
12
DDR协议、时序参数(tRCD/tCL/tRP)、初始化序列、DDR Training
13
SPI/NAND/NOR Flash驱动、XIP原理、Flash分区表
14
硬件信任根(OTP/eFuse)、镜像签名验签、安全启动链、防回滚
15
固件打包、差分升级、A/B双备份、恢复模式
16
GICv2/v3架构、中断号映射、优先级分组、中断嵌套
17
DMA控制器、描述符链、内存到内存/外设传输、Cache一致性
18
Cache策略(Write-through/Write-back)、MMU页表、TLB、MPU保护
19
电源域划分、DVFS、WFI/WFE、休眠唤醒流程、快速启动
20
Semihosting、SWO/JTAG、UART日志、环形缓冲区、断言与错误处理
21
启动时间测量、代码重定位、XIP优化、并行初始化、Fast Boot
22
RISC-V特权架构、M/S/U模式、Reset向量、CLINT/PLIC、Bootloader
23
AMP/SMP架构、核间中断(IPI)、自旋锁、内存屏障、多核启动流程
24
单元测试(CMocka/Unity)、HIL、压力测试、覆盖率分析
25
堆栈保护(Canary)、ASLR、控制流完整性(CFI)、MISRA-C
26
FreeRTOS/uCOS启动、任务创建、调度器启动、中断同步
27
交叉编译工具链、Makefile/CMake、镜像打包、文件系统集成
28
QEMU仿真、Verilator、FPGA原型搭建、固件在环调试
29
烧录工具开发、序列号管理、校准数据写入、产测固件设计
30
需求分析、架构设计、代码实现、调试验证、性能优化