01
PX4与UART概述
PX4简介 · UART通信协议基础 · PX4中UART的应用场景
基础概念
02
开发环境搭建
PX4源码下载 · 交叉编译工具链安装 · 仿真环境配置
环境工具链
03
PX4系统架构
uORB消息机制 · 工作队列与任务调度 · 设备驱动框架
架构uORB
04
UART硬件原理
串口电平标准(TTL/RS232) · 波特率与帧格式 · 流控机制
硬件电平
05
PX4设备驱动模型
DriverFramework介绍 · 设备注册与注销 · 文件操作接口
驱动框架注册
06
UART驱动核心结构体
uart_dev_s · serial_dev_s · uart_config_s 详解
结构体核心
07
驱动初始化流程
模块入口函数 · 硬件初始化 · 中断配置
初始化中断
08
数据发送实现
发送缓冲区管理 · DMA传输与轮询模式 · 发送完成回调
发送DMA
09
数据接收实现
接收中断处理 · 环形缓冲区设计 · 接收超时机制
接收环形缓冲
10
参数配置接口
波特率设置 · 数据位/停止位/校验位配置 · 流控使能
配置参数
11
uORB消息发布与订阅
传感器数据发布 · 自定义uORB主题 · 消息频率控制
uORB发布/订阅
12
工作队列集成
高/低优先级工作队列 · 延迟工作项 · 任务调度策略
工作队列调度
13
驱动调试方法
printf与syslog · PX4 shell命令 · 示波器与逻辑分析仪
调试shell
14
常见外设驱动案例
GPS模块驱动 · 数传电台驱动 · 激光雷达驱动
案例外设
15
GPS驱动详解
NMEA协议解析 · UBX协议支持 · PVT消息处理
GPSNMEA
16
数传电台驱动
MAVLink协议封装 · 流量控制 · 断线重连机制
数传MAVLink
17
激光雷达驱动
单线/多线雷达数据解析 · 点云数据发布 · 畸变校正
激光雷达点云
18
多UART设备管理
设备命名规则 · 资源竞争与互斥 · 动态插拔支持
多设备互斥
19
低功耗设计
串口唤醒机制 · 时钟门控 · 休眠与唤醒流程
低功耗唤醒
20
DMA传输优化
DMA描述符链 · 双缓冲机制 · 缓存一致性处理
DMA优化
21
错误处理与恢复
帧错误/溢出错误处理 · 自动重传机制 · 看门狗集成
错误处理看门狗
22
驱动单元测试
测试框架选择 · 模拟硬件接口 · 覆盖率分析
测试单元测试
23
性能基准测试
吞吐量测试 · 延迟测试 · CPU占用率分析
性能基准
24
安全性与可靠性
数据校验 · 超时保护 · 异常状态机
安全可靠性
25
多核与SMP支持
CPU亲和性设置 · 中断负载均衡 · 共享资源保护
多核SMP
26
RTOS集成
NuttX任务管理 · 信号量与互斥锁 · 消息队列使用
RTOSNuttX
27
驱动移植指南
不同硬件平台适配 · 时钟树配置 · 引脚复用设置
移植硬件适配
28
社区贡献规范
代码风格 · 提交信息格式 · Pull Request流程
社区PR
29
实战项目一:自定义IMU驱动
基于UART的IMU驱动开发 · 数据解析与校准
实战IMU
30
实战项目二:舵机控制器驱动
基于UART的舵机控制 · 协议封装与位置闭环
实战舵机