### WCH蓝牙空中升级(BLE OTA)关键技术解析 #### 一、概述 WCH BLE系列芯片支持多种固件升级方式,其中包括空中无线升级(OTA)和有线升级两种主要方式。OTA(Over The Air)是一种远程无线固件升级技术,通过这种方式可以在不接触设备的情况下完成固件更新,极大地提高了维护效率并减少了成本。 #### 二、WCH BLE SDK DFU工作原理详解 ##### 2.1 方式一 DFU 说明(无线升级) **备份升级方式**适用于Flash资源充足的场景。该方式的优点是可以同时升级APP和LIB部分,但缺点是需要较大的Flash空间支持。具体来说: - **工作流程**:设备上电后优先运行IAP程序,之后跳转至APP执行用户程序。APP文件独立且完整,可通过无线接收完整的OTA备份升级文件。接收完成后,通过软复位进入IAP程序阶段,IAP将OTA升级文件从备份区复制到APP应用程序区,并最终跳转回升级后的APP运行新的固件。 - **固件编译**:升级固件通常带有LIB编译(LIB约90K)。 - **示例**:EVT\EXAM\BLE\BackupUpgrade_OTA 提供了具体的升级示例。在此示例中,首先读取dataflash OTA_DATAFLASH_ADD位置的值,并更新当前的flag标志为APP。接着,在Peripheral.c文件中,通过几个关键升级函数完成对接收的OTA包的处理,包括编程、擦除、校验和结束指令等步骤。 - **函数调用**:在函数注册Peripheral_OTA_IAPProfileCBs中包含OTA_IAPWriteData()函数,用于处理接收的数据。Rec_OTA_IAP_DataDeal()函数进一步处理这些数据,直至升级完成。 - **工具与文件**:方式一DFU包含三个文件:JumpIAP、APP和IAP。其中: - JumpIAP:跳转至IAP的代码。 - APP:用户功能代码,实现产品功能和升级功能。 - IAP:编程升级APP的代码。 - **烧录说明**:选择JumpIAP、APP和IAP三个文件,使用ISP工具将其合并为一个BIN文件后进行下载。 ##### 2.2 方式二 DFU 说明(无线升级) **升级方式二**适用于Flash资源相对有限的情况,其特点是采用APP+IAP+LIB的方式进行固件升级。 - **工作流程**:升级过程中,系统需从应用模式切换至BootLoader/IAP模式,由BootLoader/IAP负责新固件的下载工作。在整个升级过程中,应用程序的功能无法使用。 - **示例**:EVT\EXAM\BLE\OnlyUpdateApp_XXX 提供了相关的示例代码。这些示例展示了如何在不中断应用程序运行的前提下完成固件的无线升级。 - **功能特性**:相较于方式一,方式二更适用于资源受限的场景,但其升级过程更为复杂,需要在升级期间暂停应用程序的功能。 #### 三、总结 WCH BLE系列芯片支持多种固件升级方式,包括通过无线(OTA)或有线方式进行升级。其中,方式一DFU采用备份升级的方式,适用于Flash资源充足的场景,能够同时升级APP和LIB部分;而方式二DFU则更适合于资源受限的场景,尽管升级过程较为复杂。开发者可以根据自身需求和资源情况选择合适的升级方式,以确保产品的稳定性和可维护性。
- 粉丝: 27
- 资源: 296
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享多核处理器构架的高速JPEG解码算法很好的技术资料.zip
- 技术资料分享第24章 性能和资源占用很好的技术资料.zip
- 技术资料分享第23章 LCD驱动API函数很好的技术资料.zip
- 技术资料分享第22章 LCD驱动程序很好的技术资料.zip
- 技术资料分享第21章 高层次配置很好的技术资料.zip
- 技术资料分享第20章 底层配置很好的技术资料.zip
- 技术资料分享第19章 与时间相关的函数很好的技术资料.zip
- 技术资料分享第18章 输入设备很好的技术资料.zip
- 技术资料分享第17章 Shift-JIS支持很好的技术资料.zip
- 技术资料分享第16章 Unicode很好的技术资料.zip