DFU V2 例程

DFU V2 是 SiFli SDK 的固件升级(DFU / OTA)中间件,支持三种传输通道:USB-CDC、BLE、Bluetooth PAN(网络)。本目录按通道收纳了配套的例程。

目录结构

dfu_v2/
├── cdc/      USB-CDC 通道
│   ├── app/      用户应用 + PC 升级工具(dfu_v2_cdc_tool.py)
│   └── loader/   CDC DFU loader 子程序
├── ble/      BLE 通道
│   ├── app/      BLE 外设应用(支持运行中实时更新,HCPU 自身升级转 loader 完成)
│   └── loader/   BLE DFU loader 子程序
└── bt_pan/   Bluetooth PAN(网络 / HTTP)通道
    ├── app/      联网从服务器拉取固件升级的应用
    └── loader/   PAN DFU loader 子程序

怎么选通道

  • USB-CDC:PC 经 USB 虚拟串口升级,适合产线、有线调试场景。

  • BLE:手机 App 经蓝牙升级,设备作为外设。

  • PAN:设备经蓝牙 PAN 联网,自行从服务器拉取固件升级。

app 与 loader 的关系

app 与同通道的 loader 配套使用。编译 app 时,SDK 会通过 building.pyAddDFU_* 自动把同通道的 loader 作为子工程一起编进来,无需单独构建 loader。

编译

进入某个例程的 project/ 目录,执行:

scons --board=<板名> -j8

各例程支持的板子见其各自的 README。

例程索引

通道

用户应用

loader 子程序

USB-CDC

cdc/app

cdc/loader

BLE

ble/app

ble/loader

Bluetooth PAN

bt_pan/app

bt_pan/loader

DFU V2 中间件本身的配置项见 middleware/dfu_v2