📱 高通芯片驱动开发实战手册
📚
30章 · 从入门到项目实战
01
高通平台概述
发展史
骁龙8/7/6系列
驱动环境概览
02
开发环境搭建
Ubuntu安装
交叉编译链
CodeAurora同步
03
Linux内核基础
内核源码结构
Kconfig/Makefile
模块编译
04
高通平台启动流程
PBL→SBL→ABL
LK
完整启动链
05
设备树基础
DTS/DTSI/DTB
高通设备树
GPIO/时钟配置
06
字符设备驱动
驱动框架
file_operations
cdev接口
07
GPIO驱动开发
pinctrl框架
gpiod_* API
中断注册
08
I2C驱动开发
控制器驱动
设备驱动编写
数据传输调试
09
SPI驱动开发
SPI控制器
设备驱动
DMA传输
10
UART驱动开发
UART控制器
波特率配置
流控实现
11
时钟框架
时钟树
CCF框架
PLL配置
12
电源管理
PMIC驱动
RPM协议
功耗优化
13
中断子系统
GIC驱动
中断映射
中断线程化
14
DMA引擎
BAM驱动
描述符
scatter-gather
15
内存管理
ION分配器
DMA-BUF
SMMU配置
16
显示驱动
MDSS架构
MDP驱动
DSI接口
17
相机驱动
CAMSS架构
ISP驱动
V4L2框架
18
音频驱动
ADSP驱动
ALSA框架
低功耗音频
19
网络驱动
WLAN架构
WCN芯片
电源管理
20
蓝牙驱动
蓝牙架构
HCI协议
BLE支持
21
存储驱动
UFS驱动
eMMC
IO调度器
22
USB驱动
DWC3控制器
Gadget框架
Type-C/PD
23
传感器驱动
SSC架构
SLPI驱动
HAL层接口
24
安全子系统
TrustZone
QSEE驱动
安全启动
25
调试与日志
QXDM/QACT
dynamic debug
RAM dump
26
性能优化
cpufreq/cpuidle
中断负载均衡
实时性优化
27
设备树覆盖与板级支持
DTS overlay
多板级
编译/反编译
28
驱动热插拔与动态加载
热插拔机制
udev规则
绑定/解绑
29
高通平台常见问题排查
Panic/Oops
lockdep
kmemleak
30
项目实战:GPIO按键驱动
骁龙8 Gen3
设备树配置
中断处理