01
PX4与SPI基础
PX4架构概览 · SPI协议原理 · 飞控SPI总线拓扑
概念总线
02
开发环境搭建
Ubuntu编译环境 · 交叉工具链 · JTAG/SWD调试器
环境工具链
03
PX4源码结构
Firmware目录树 · 模块注册 · uORB消息总线
源码uORB
04
SPI驱动框架
设备驱动模型 · SPI总线接口 · 设备注册流程
框架注册
05
第一个SPI驱动
创建驱动目录 · CMakeLists · probe函数
实战入门
06
SPI通信实现
时钟模式配置 · transfer函数 · 片选信号
通信时序
07
设备数据结构
寄存器映射 · 读写接口 · 数据校验
结构校验
08
中断与轮询
SPI中断处理 · 轮询模式 · DMA传输配置
中断DMA
09
uORB消息发布
自定义uORB消息 · 发布传感器数据 · 订阅测试
uORB发布
10
参数系统集成
定义驱动参数 · 运行时调整 · 参数回调
参数调参
11
设备自检与校准
自检函数 · 校准流程 · 状态上报
自检校准
12
多实例支持
同总线多设备 · 实例ID管理 · 资源隔离
多实例隔离
13
电源管理
上下电时序 · 低功耗模式 · 休眠唤醒
电源低功耗
14
错误处理与日志
错误码定义 · 日志规范 · 断言与故障注入
错误日志
15
单元测试框架
PX4测试框架 · SPI驱动单元测试 · 模拟SPI总线
测试模拟
16
硬件抽象层
分离平台代码 · 多MCU支持 · 寄存器级抽象
HAL移植
17
DMA传输优化
描述符链 · 环形缓冲区 · 零拷贝技术
DMA性能
18
时序分析与调试
逻辑分析仪抓波形 · 时序约束 · Profiling
调试时序
19
热插拔支持
热插拔检测 · 动态重枚举 · 状态机设计
热插拔状态机
20
安全与校验
CRC校验 · 数据完整性 · 看门狗集成
安全CRC
21
兼容性设计
多版本硬件 · 设备树配置 · 运行时检测
兼容设备树
22
性能基准测试
吞吐量测试 · 延迟测试 · 资源占用分析
性能基准
23
固件升级支持
SPI升级固件 · Bootloader交互 · 版本管理
升级Bootloader
24
多线程安全
互斥锁 · 原子操作 · 无锁队列
并发安全
25
传感器融合示例
IMU读取 · 磁力计校准 · 气压计融合
融合传感器
26
外设扩展
GPIO扩展器 · ADC采集 · PWM输出(SPI)
外设扩展
27
实时性保障
任务优先级 · 中断延迟 · 时间戳管理
实时RTOS
28
调试工具链
PX4 shell · debug节点 · 远程日志
调试工具
29
持续集成
自动化编译 · 硬件在环测试 · 代码覆盖率
CI自动化
30
实战项目
完整SPI传感器驱动 · 飞控集成 · 飞行验证
项目实战