📺 机顶盒硬件接口驱动调试全攻略

🎯 30章 · 从入门到实战
🔧 原理图 · 示波器 · 逻辑分析仪 ⚡ 30个实战案例
01
机顶盒硬件接口概述 HDMI/USB/以太网/SPI/I2C/UART/GPIO/红外 · 调试准备
02
调试环境搭建 交叉编译链 · NFS/TFTP · 串口终端 · 逻辑分析仪基础
03
GPIO驱动调试 gpiolib · sysfs · 中断触发 · 按键中断案例
04
UART驱动调试 设备树 · 波特率 · DMA/中断 · 流控 · 乱码排查
05
I2C驱动调试 时序分析 · i2c-tools · EDID读取修复
06
SPI驱动调试 CPOL/CPHA · 片选 · spidev · Flash读写校验
07
USB驱动调试 控制器初始化 · URB · HID/存储 · U盘无法识别
08
以太网驱动调试 PHY/MDIO · MAC(MII/RMII) · iperf · ping不通
09
HDMI/CEC驱动调试 输出分辨率 · CEC协议 · EDID · 无显示排查
10
红外遥控驱动调试 NEC/RC5 · input子系统 · 按键无响应
11
SD/MMC/eMMC驱动调试 SDIO初始化 · 卡识别 · 分区挂载 · 读写速度
12
音频接口(I2S/SPDIF)调试 I2S时钟 · ALSA框架 · 编解码器 · HDMI无声
13
PCIe驱动调试 配置空间 · BAR映射 · MSI/MSI-X · WiFi模块识别
14
PWM驱动调试 占空比/频率 · 背光/风扇 · 屏幕背光无法调节
15
ADC驱动调试 通道配置 · IIO子系统 · 温度传感器异常
16
DMA驱动调试 引擎初始化 · 描述符链 · 内存⇄外设 · 音频卡顿
17
时钟与定时器驱动调试 时钟树 · PLL · hrtimer · 系统时钟漂移
18
看门狗驱动调试 定时器配置 · 喂狗 · 系统复位 · 异常重启
19
电源管理(PM)驱动调试 DPM · 休眠/唤醒 · 电源状态 · 待机无法唤醒
20
中断控制器(GIC/INTC)调试 中断号映射 · 优先级 · 延迟测量 · 中断风暴
21
设备树(Device Tree)调试 语法/编译 · 节点绑定 · pinctrl · 外设无法probe
22
内核日志与调试技巧 printk · dynamic debug · ftrace · kprobe · 崩溃定位
23
内存调试 kmalloc/vmalloc · slab/slub · kmemleak · 内存泄漏
24
并发与同步调试 自旋锁/互斥锁 · 原子操作 · 工作队列 · 死锁
25
性能优化 中断合并 · DMA scatter-gather · 缓存一致性 · 吞吐量
26
稳定性测试 压力测试 · 热插拔 · 异常恢复 · USB反复插拔
27
生产问题复现与定位 crash dump · ramdump · JTAG · 现场远程定位
28
驱动安全 缓冲区溢出 · 权限检查 · ioctl审计 · 提权漏洞
29
自动化测试框架 LTP · 自定义脚本 · CI/CD · 回归测试
30
综合实战:从零调试新板卡 HDMI输出 · 设备树/时钟/I2C/HDMI/CEC/音频全流程