PX4驱动开发 · 问题定位与解决实战

📚 共计 30 章节
01
PX4驱动框架概览
uORB消息机制 · 设备框架 · 驱动生命周期
uORB设备框架
02
驱动开发环境搭建
交叉编译工具链 · Firmware源码 · 仿真环境
工具链仿真
03
uORB消息发布与订阅
消息定义 · 发布/订阅模式 · 频率控制
消息频率
04
设备驱动注册与注销
模块化加载 · 设备节点 · 参数接口绑定
注册参数
05
I2C总线驱动开发
I2C协议 · PX4 I2C框架 · 读写时序调试
I2C时序
06
SPI总线驱动开发
SPI模式 · DMA传输 · 片选管理
SPIDMA
07
UART串口驱动开发
波特率配置 · 中断接收 · 环形缓冲区
UART中断
08
GPIO与外部中断
引脚复用 · 中断优先级 · 去抖处理
GPIO中断
09
ADC驱动开发
采样率 · DMA双缓冲 · 数据校准
ADC校准
10
PWM输出驱动
定时器 · 占空比 · 多通道同步
PWM定时器
11
IMU传感器驱动
MPU6000/ICM20602 加速度计/陀螺仪
IMUSPI
12
磁力计驱动开发
HMC5883L/IST8310 校准与融合
磁力计校准
13
气压计驱动开发
MS5611/BMP280 温度补偿算法
气压计补偿
14
GPS/RTK驱动开发
NMEA协议 · UBX协议 · 时间同步
GPSRTK
15
光流/距离传感器驱动
PMW3901/VL53L1X 数据融合
光流ToF
16
驱动调试工具链
dmesg · ioctl · perf · ftrace 技巧
调试性能
17
常见驱动崩溃问题
空指针 · 内存泄漏 · 死锁分析与修复
崩溃死锁
18
时序问题定位
调度延迟 · 中断丢失 · DMA超时
时序延迟
19
数据异常排查
噪声滤波 · 异常值剔除 · 融合不一致
滤波异常
20
驱动性能优化
中断合并 · 批处理 · 缓存一致性
优化缓存
21
多传感器时间同步
硬件时间戳 · 软件插值 · EKF对齐
同步EKF
22
驱动热插拔与动态重配置
设备树覆盖 · 运行时参数调整
热插拔设备树
23
驱动单元测试框架
Google Test · 模拟uORB · 硬件在环
测试HIL
24
日志与遥测
ULog自定义驱动日志 · MAVLink状态上报
ULogMAVLink
25
驱动安全与容错
看门狗 · 健康监测 · 故障切换
安全看门狗
26
自定义外设驱动实战
从零开发激光雷达驱动
实战激光雷达
27
驱动与EKF交互
协方差设置 · 延迟补偿 · 异常标记
EKF协方差
28
驱动固件升级
Bootloader · CRC校验 · 回滚机制
固件升级
29
社区驱动移植
从ArduPilot/Dronecode移植到PX4
移植社区
30
综合实战:多传感器融合
驱动系统调试与发布
融合实战