关于INAV地面站的USB使用
2025/5/22大约 3 分钟
一、USB DFU 模式刷写指南
基本刷写步骤
- 进入 DFU 模式 ,使用配置器直接刷写通常会自动进入 DFU 模式。 如果手动按键进入 DFU 模式, 勾选“No reboot sequence”。
- 波特率与 DFU 无关。 升级固件时建议勾选 “Full chip erase”( 全芯片擦除)。
1.1 使用各平台说明
1.Linux(需要配置udev
权限)
方法一:通用权限规则
创建文件 /etc/udev/rules.d/45-stdfu-permissions.rules
,内容如下:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
方法二:使用用户组(如 Ubuntu 的 plugdev)
(echo '# DFU access'
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"') \
| sudo tee /etc/udev/rules.d/45-stdfu-permissions.rules > /dev/null
sudo usermod -a -G plugdev <你的用户名>
重启或登出/登录生效。
2.Windows
问题:配置器无法访问 DFU 设备
解决方法是使用 Zadig 工具 替换驱动:
- 下载并打开 Zadig。
- 选中 Options → List All Devices。
- 选中设备 STM32 BOOTLOADER。
- 驱动选择 WinUSB (v6.x.x.x)。
- 点击 Replace Driver。
- 重启配置器。

macOS / USB-C 注意事项
- 建议使用 USB-C 转 USB-A 转接器或带 A 口的集线器。
- 纯 USB-C 线缆不能自动判断主从模式,容易连接失败。
使用 dfu-util 刷写(Linux CLI 工具)
1.将固件 .hex 转换为 .bin 格式:
objcopy -I ihex inav_x.y.z_NNNNNN.hex -O binary inav_x.y.z_NNNNNN.bin
2.DFU 刷写:
dfu-util -d 0483:df11 --alt 0 -s 0x08000000:force:leave -D inav_x.y.z_NNNNNN.bin
3.带全擦除刷写:
dfu-util -d 0483:df11 --alt 0 -s 0x08000000:mass-erase:force:leave -D inav_x.y.z_NNNNNN.bin
⚠️ 注意事项
- DFU 模式下 FC 会监听多个端口,若有持续发数据的设备(如 GPS / 接收机)连接,会干扰刷写,请断开这些设备或关闭供电。
- 旧设备或坏 USB 接口可通过 UART 方式刷写。
UART 刷写方法(使用 stm32flash 工具)
适用于不支持 DFU 的设备或 USB 接口损坏:
- 擦除固件(假设 UART 口为 /dev/ttyUSB0):
stm32flash -o -b 57600 /dev/ttyUSB0
2,刷写固件 .hex:
stm32flash -w inav_x.y.z_NNNNNN.hex -v -g 0x0 -b 57600 /dev/ttyUSB0
二、USB MSC 模式简介
MSC(Mass Storage Class,大容量存储类)模式允许你将飞控板作为一个 U 盘挂载到电脑上,从中直接读取日志文件,例如:
- SD 卡日志文件
- 内部闪存日志
SD 卡 与内部闪存的差异
项目 | SD 卡 | 内部闪存(虚拟文件系统) |
---|---|---|
读写权限 | 读/写 | 仅支持读取 |
日志显示 | 真实文件结构 | 合并为单个文件(inav_all.bb)+ 其他文件 |
删除方式 | 直接删除文件 | 必须使用配置器/CLI 手动擦除 |
使用方法(进入msc模式)
- 进入 CLI 模式(通过 INAV Configurator)
- 输入命令:msc ;此时飞控会自动重启进入 MSC 模式。
- 关闭 CLI 工具 包括 Configurator、CLI 等。
- 等待电脑识别为 USB 存储设备 ,通常需要 10~15 秒。
- 拷贝日志文件 你可以使用系统自带文件管理器或命令如: cp /media/LOGS/LOG00035.TXT ~/logs/
- 完成后安全弹出设备并断电重启飞控
性能比较
方式 | 读取速度 | 备注 |
---|---|---|
USB MSC 模式 | ≈ 340 KB/s | 55MB 日志约需 2 分 40 秒 |
使用读卡器 | ≈ 19 MB/s | 55MB 日志仅需 2 秒 |
虽然 USB MSC 较慢,但对于不便插拔 SD 卡的情况仍然非常实用。
————本文引用至INAV官网: https://github.com/iNavFlight/inav/blob/master/docs/USB_Mass_Storage_(MSC)_mode.md