🚗 车规级 Linux 驱动
30 章 · 手把手实战
⭐ 友好色系
1
车规级Linux概述
什么是车规级Linux
AUTOSAR与Linux
QNX对比
ISO 26262认证
2
开发环境搭建
交叉编译链
QEMU模拟器
Yocto构建
TFTP/NFS启动
3
内核源码结构
目录树解析
Kconfig/Makefile
BSP结构
NXP S32G / R-Car
4
内核编译与启动
menuconfig
编译内核/设备树
U-Boot引导
启动日志解读
5
字符设备驱动基础
设备号注册
file_operations
cdev_init/add
虚拟字符设备
6
设备树 (Device Tree)
DTS/DTB语法
绑定文档
自定义节点
解析属性
7
GPIO驱动开发
gpiolib框架
descriptor API
LED驱动
中断去抖动
8
平台驱动模型
platform_driver
of_match_table
设备树结合
probe/remove
9
I2C驱动开发
I2C子系统
adapter/client
设备驱动编写
regmap简化
10
SPI驱动开发
SPI子系统
message/transfer
SPI设备驱动
设备树绑定
11
中断处理
request_irq
上半部/下半部
tasklet/workqueue
车规延迟要求
12
内核定时器与时间管理
jiffies/HZ
timer_list
hrtimer
超时机制
13
并发与同步
自旋锁
互斥锁
读写锁
原子操作/内存屏障
14
内存管理
kmalloc/vmalloc
DMA分配
ioremap
泄漏检测
15
DMA引擎驱动
DMA engine架构
dma_slave_config
内存到外设
Scatter-gather
16
电源管理
Runtime PM
suspend/resume
电源状态跟踪
低功耗设计
17
时钟框架 (CCF)
CCF架构
提供者/消费者
设备树时钟绑定
动态调频
18
Pinctrl子系统
pinctrl框架
引脚复用/配置
设备树绑定
获取pinctrl状态
19
输入子系统
input core/handler
编写输入驱动
按键/触摸事件
多指触摸
20
帧缓冲 (Framebuffer)
fb子系统
fb_info实现
显示时序
仪表盘示例
21
ALSA音频驱动
ALSA架构
Codec驱动
DMA音频传输
音量/混音
22
CAN总线驱动
SocketCAN架构
CAN控制器驱动
帧发送/接收
CAN FD
23
网络设备驱动
net_device
NAPI轮询
DMA环形缓冲区
PHY驱动集成
24
MTD与Flash驱动
MTD子系统
SPI NOR Flash
UBIFS挂载
坏块管理
25
PCIe驱动开发
配置空间访问
BAR映射
MSI/MSI-X
PCIe switch
26
V4L2视频驱动
V4L2框架
videobuf2
摄像头驱动
MIPI CSI-2
27
安全与加密
内核Crypto API
CAAM/SA2UL
安全启动链
TLS/IPsec卸载
28
功能安全 (FuSa) 驱动
ISO 26262 ASIL
故障检测/上报
ECC内存保护
看门狗驱动
29
驱动调试与性能优化
printk/dynamic debug
ftrace/tracepoint
perf分析
kgdb调试
30
项目实战:车规级网关
需求分析/模块划分
GPIO/CAN/以太网
驱动集成
压力测试/稳定性