PX4驱动源码阅读与修改技巧

📚 共计 30 章节
01
PX4驱动架构概览
PX4系统架构 · 驱动层位置 · uORB消息机制
架构uORB
02
开发环境搭建
Ubuntu编译 · VSCode/Eclipse调试 · JTAG/SWD
环境调试
03
驱动框架核心
模块化驱动 · 设备抽象层 · I2C/SPI/UART总线
框架总线
04
uORB深入理解
发布/订阅 · 消息定义生成 · 多线程同步
uORBIPC
05
传感器驱动基础
采集流程 · 校准滤波 · 参数系统
传感器校准
06
I2C驱动实战
I2C框架 · 设备探测 · 数据读写时序
I2C时序
07
SPI驱动实战
SPI框架 · DMA传输 · 中断处理
SPIDMA
08
UART驱动实战
串口框架 · DMA/中断 · 流控处理
UART流控
09
PWM/RC输入驱动
PWM捕获 · RC信号解析 · SBUS协议
PWMRC
10
执行器驱动
电机PWM · 舵机控制 · 混控器原理
执行器混控
11
GPS驱动
NMEA解析 · UBX协议 · 数据融合
GPSUBX
12
磁力计驱动
HMC5883L/MAG3110 · 硬铁/软铁校准
磁力计校准
13
气压计驱动
MS5611/BMP280 · 温度补偿算法
气压计补偿
14
IMU驱动
MPU6000/ICM20602 · DMP与FIFO
IMUFIFO
15
距离传感器驱动
激光雷达/超声波 · I2C/UART接口
距离激光
16
光流传感器驱动
PMW3901驱动 · 光流数据融合
光流融合
17
驱动调试技巧
printk/日志 · perf计数器 · 断点调试
调试perf
18
驱动性能优化
中断延迟 · DMA优化 · 缓存一致性
性能DMA
19
多核与并发
SMP调度 · 原子操作 · 自旋锁/互斥锁
多核并发
20
驱动热插拔
设备树动态加载 · 总线重枚举 · 错误恢复
热插拔设备树
21
参数系统扩展
自定义参数 · 参数分组 · 参数回调
参数扩展
22
自定义传感器驱动
从零编写I2C传感器驱动
实战I2C
23
驱动测试框架
单元测试 · 硬件在环 · 自动化测试
测试HIL
24
驱动安全与健壮性
看门狗 · 超时处理 · 异常恢复
安全健壮
25
驱动功耗管理
休眠/唤醒 · 动态频率 · 低功耗模式
功耗低功耗
26
驱动版本管理
Git分支策略 · 版本号 · 兼容性处理
Git版本
27
社区贡献指南
提交PR · 代码审查 · 文档编写
社区PR
28
常见驱动问题排查
传感器无数据 · 数据异常 · 系统卡死
排查故障
29
驱动移植指南
PX4 1.x→1.14 · 硬件平台移植
移植升级
30
综合实战
为飞控板添加全新传感器驱动并验证
综合实战