📘 i.MX8M 驱动开发 · 实战目录
🧑🏫
30章 · 从小白到专家
01
嵌入式Linux驱动开发概述
嵌入式系统简介
Linux内核架构
交叉编译/NFS/TFTP
02
i.MX8M处理器架构详解
产品线
Cortex-A53/M4
总线与内存映射
时钟/电源
03
Linux内核编译与定制
获取源码
menuconfig
编译/设备树
烧录启动
04
设备树 (Device Tree) 基础
dts/dtsi语法
节点与属性
中断/GPIO
绑定文档
05
字符设备驱动基础
主次设备号
file_operations
cdev注册
hello驱动
06
驱动中的并发与同步
自旋锁
互斥锁
信号量
原子操作/RCU
07
内存管理与DMA
kmalloc/vmalloc
内存池
DMA API
一致性/流式映射
08
中断处理
注册中断
顶/底半部
tasklet/workqueue
线程化中断
09
定时器与内核时间管理
jiffies/HZ
内核定时器
hrtimer
delay函数
10
GPIO子系统驱动开发
GPIO控制器驱动
descriptor API
gpiolib
用户空间控制
11
Pinctrl子系统
引脚控制概念
pinctrl驱动框架
设备树配置
复用功能
12
时钟 (Clock) 子系统
CCF框架
提供者/消费者
设备树绑定
动态调节
13
I2C子系统驱动开发
I2C总线协议
核心/适配器
设备驱动
SMBus
14
SPI子系统驱动开发
SPI总线协议
核心/控制器
设备驱动
NOR Flash实例
15
UART串口驱动开发
serial_core
tty框架
i.MX8M UART
波特率/流控
16
MMC/SD卡驱动开发
MMC子系统
SD/MMC协议
USDHC控制器
eMMC分区
17
NAND Flash与UBI文件系统
NAND控制器
MTD子系统
UBI/UBIFS
坏块/ECC
18
显示子系统 (DRM/KMS) 基础
DRM框架
CRTC/Encoder
DCSS控制器
Framebuffer
19
GPU驱动与加速
GC7000L架构
DRM调度器
GPU内存管理
OpenGL/ES
20
VPU视频编解码驱动
VPU硬件加速
V4L2 M2M
编解码器实现
GStreamer
21
音频子系统 (ASoC) 驱动
ALSA架构
ASoC Codec/Platform
SAI/ESAI
DAPM路由
22
USB子系统驱动开发
USB主机/设备
USB核心层
Gadget框架
DWC3驱动
23
PCIe子系统驱动开发
PCIe总线协议
RC/EP模式
i.MX8M PCIe
DMA/MSI中断
24
网络设备驱动开发
网络协议栈
NAPI机制
FEC控制器
PHY/MDIO
25
电源管理驱动
系统休眠/唤醒
运行时PM
cpufreq
设备电源域
26
安全与加密引擎
CAAM加速器
密钥管理
安全启动HAB
OP-TEE集成
27
系统调试与性能优化
printk/动态调试
ftrace
perf/kgdb
crash dump
28
设备驱动模型 (LDM) 深入
kobject/kset/sysfs
uevent/热插拔
platform总线
设备树绑定
29
用户空间与内核交互
ioctl
mmap
netlink
sysfs/debugfs
30
综合实战:智能网关驱动
GPIO按键
I2C温湿度
SPI LCD
网络采集