📘 ARM SoC 软件开发指南
30章 · 从入门到实战
⭐
友好色系
1
ARM架构概述
ARM发展史 · Cortex系列 · v7/v8/v9 · SoC组成
2
开发环境搭建
交叉工具链 · GDB · OpenOCD/JLink · Makefile
3
启动流程详解
BootROM · SPL · U-Boot · ATF · 设备树 · 内核启动
4
异常与中断处理
异常向量表 · IRQ/FIQ · GICv2/v3 · 嵌套与优先级
5
MMU与缓存管理
页表 · TLB · Cache策略 · MMU使能流程
6
时钟与定时器
系统时钟树 · PLL · Generic Timer · Watchdog · PWM
7
GPIO与外部中断
寄存器 · 输入输出 · 上下拉 · 边沿触发中断
8
UART串口通信
UART协议 · 波特率 · FIFO/DMA · 串口调试
9
I2C总线协议
I2C时序 · 主从 · 多主机仲裁 · AT24C02驱动
10
SPI总线协议
模式0/1/2/3 · 片选 · 双线/四线 · W25Q64驱动
11
DMA控制器
M2M/M2P/P2M · 描述符链 · Scatter-Gather · 优化
12
存储控制器
SDRAM/DDR · eMMC/NAND · SD/MMC卡协议
13
USB协议栈
USB 2.0/3.0 · 设备枚举 · 端点与管道 · OTG
14
以太网与网络协议
GMAC/RGMII · PHY · LWIP移植 · TCP/IP基础
15
显示与GPU
LCD控制器 · Framebuffer · MIPI DSI · Mali/Adreno
16
音频接口
I2S · PCM · Codec配置 · ALSA驱动框架
17
电源管理
DVFS · P-State · Suspend/Resume · PMIC · 功耗
18
安全子系统
TrustZone · OP-TEE · 安全启动 · 加密引擎
19
实时操作系统
FreeRTOS移植 · 任务调度 · 信号量/队列 · 中断
20
Linux内核移植
Kconfig · DTS · 内核编译 · Buildroot/Yocto
21
设备驱动模型
platform总线 · 设备树匹配 · probe/remove · file_operations
22
字符设备驱动
cdev · ioctl · read/write阻塞与非阻塞 · poll
23
块设备驱动
request队列 · bio · gendisk · MMC块设备实例
24
网络设备驱动
net_device · NAPI · sk_buff · PHY状态机
25
输入子系统
input_dev · 事件上报 · 多点触摸 · evdev
26
文件系统
VFS · ext4/F2FS · JFFS2/UBIFS · FUSE
27
性能优化
perf · ftrace · CPU亲和性 · 内存带宽优化
28
调试与测试
JTAG · KGDB · crash dump · LTP测试套件
29
固件升级
AB分区 · OTA · CRC/SHA校验 · 回滚保护
30
项目实战:智能家居网关
需求分析 · 模块划分 · 驱动集成 · 系统联调