目录
- 一、BOOT 是什么
- 二、启动流程详解
- 三、Bootloader 的作用
- 位置
- 三件事
- 四、启动状态与指示灯
- 常见指示灯状态(以 PX4 为例)
- 五、启动异常排查
- 启动日志排查
- 六、进入 Bootloader 模式刷固件
- 七、与相关文档的关联
一、BOOT 是什么
BOOT(启动/引导,来自 bootstrapping)指飞控从通电到进入飞行就绪的完整过程——类似电脑的开机自检(POST)。
一句话理解:「BOOT 就是飞控的"开机启动流程",Bootloader 是这个流程里负责加载固件的小程序」。
二、启动流程详解
电池上电 → 主控芯片复位 → Bootloader 启动 → 低层硬件初始化(时钟/GPIO/串口/Flash) → 校验固件完整性 → 加载主固件(PX4/ArduPilot) → 传感器初始化与自检 → 飞控就绪(等待遥控/解锁)下面是完整启动链路的流程图:
图注:任一阶段失败都会停在该阶段——复位失败则完全无法启动,Bootloader 异常会停在引导层,固件校验不通过会反复重启,加载主固件失败表现为固件损坏循环,传感器自检不通过则报传感器错误、无法进入就绪状态。
| 阶段 | 内容 | 失败表现 |
|---|---|---|
| 复位 | 芯片上电复位 | 无法启动 |
| Bootloader | 引导程序运行 | 停在引导层 |
| 固件加载 | 主固件载入内存 | 固件损坏反复重启 |
| 硬件初始化 | 传感器/接口配置 | 报 boot error |
| 自检 | 传感器健康检查 | 传感器报错 |
| 就绪 | 等待遥控/解锁 | 无(正常) |
三、Bootloader 的作用
位置
- 固化在飞控主控芯片 Flash 起始地址(如 STM32 的 0x08000000)。
- PX4 体系中占 Flash 前 8-16KB,主飞控固件放在其后。
三件事
| 职责 | 说明 |
|---|---|
| 低层硬件初始化 | 时钟、GPIO、串口/USB、Flash 控制器 |
| 校验应用固件完整性 | 检查固件是否损坏/完整 |
| 决定走向 | 收到烧写指令就等待,否则跳转到主固件 |
四、启动状态与指示灯
常见指示灯状态(以 PX4 为例)
| 状态 | 表现 | 含义 |
|---|---|---|
| 上电瞬间 | 灯闪一次 | Bootloader 启动 |
| 引导中 | 灯规律闪烁 | 固件加载/自检 |
| 就绪 | 灯常亮/慢闪 | 等待解锁 |
| 故障 | 灯异常快闪/红闪 | 启动或自检失败 |
| 刷写模式 | 特定灯模式 | 进入 Bootloader 等待烧写 |
注意:不同飞控(PX4/ArduPilot/各品牌)指示灯含义不同,以对应手册为准。
五、启动异常排查
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 上电无反应 | 供电问题、芯片故障 | 查电源、接插件 |
| 反复重启循环 | 固件损坏 | 重刷固件(见固件升级文档) |
| 停在引导层 | Bootloader 异常 | 重新烧写 Bootloader |
| 报 boot error | 硬件初始化失败 | 查传感器接线/供电 |
| 自检报传感器错误 | 传感器未初始化 | 见传感器自检报错排查 |
| 升级后无法启动 | 固件不匹配 | 刷匹配版本(见固件升级文档) |
启动日志排查
- 通过 USB 连接地面站,查看启动日志/终端输出。
- 关注最后一条报错前的内容,定位失败阶段(硬件/固件/自检)。
六、进入 Bootloader 模式刷固件
| 方式 | 操作 | 适用 |
|---|---|---|
| 硬件按键 | 按住 BOOT 按钮上电 | 固件损坏无法正常启动时 |
| 软件命令 | 地面站执行 reboot bootloader | 系统可正常响应时 |
| 自动进入 | 检测到烧写指令时 Bootloader 等待 | 正常升级流程 |
操作流程:
进入 Bootloader → 地面站识别为"刷写模式" → 选择固件文件 → 烧写 → 校验 → 重启 → 完成详细升级/降级流程见《固件升级与降级》文档;固件损坏时 Bootloader 是最后的恢复手段。
七、与相关文档的关联
| 关联文档 | 关联点 |
|---|---|
固件升级与降级 | Bootloader 烧写、升级流程 |
传感器自检报错排查 | 启动自检阶段的传感器报错 |
飞控系统架构 | 启动后的模块初始化与任务调度 |
日志与异常诊断 | 启动日志分析 |