CH579蓝牙空中升级:DFU与OTA方式详解

需积分: 0 2 下载量 133 浏览量 更新于2024-08-05 收藏 230KB PDF 举报
CH579蓝牙空中升级(BLE OTA)是一种先进的固件更新技术,它允许设备通过无线方式进行固件升级,无需物理连接。此技术在WCHCH579 SDK中得到了实现,支持两种主要的DFU(Device Firmware Update)方式:方式一和方式二。 方式一DFU,也称为后台式或静默式DFU,适合于Flash资源充足的场景。当设备上电时,首先运行的是APP程序。APP在运行时通过无线接收完整的OTA备份升级文件,然后切换到IAP(In Application Programming)程序,IAP将备份区的升级文件复制到APP区域,最后进行软重置以加载新固件。这种方式的优点是可以同时升级APP和LIB(Library,库文件),但缺点是需要占用一半的Flash空间。 方式二DFU,即非后台式DFU,升级时会暂停APP的所有功能。用户需先通过BootLoader/IAP模式进行升级,新固件会直接覆盖旧版本,导致升级期间无法使用应用程序。这种方式适合Flash空间有限的情况,但升级过程可能会影响用户体验。 此外,还有一种方式三是有线DFU,通过内置的BOOT(UART/USB)接口进行升级,这种方式不受无线信号限制,但通常用于固件更新的辅助手段或紧急修复。 整个升级过程包括以下几个关键步骤: 1. **DFU启动**:根据方式不同,可能是APP启动后进行无线升级,或者在BootLoader/IAP模式下启动有线升级。 2. **固件下载**:方式一通过APP接收并处理OTA升级文件,方式二则由BootLoader/IAP负责。 3. **文件迁移**:在方式一中,IAP负责将备份区的升级文件复制到应用程序区。 4. **新固件加载**:无论是哪种方式,最终都是通过软复位或重启运行新的固件版本。 5. **状态管理**:更新过程中,可能需要检查和更新特定的数据,如dataflash的OTA_DATAFLASH_ADD位置的flag标志。 了解这些技术对于开发基于CH579芯片的设备,进行有效的固件管理和维护至关重要,确保设备能够通过无线更新保持最新功能,同时优化升级流程以提高用户体验。