- 测试盒经典蓝牙升级
- 测试盒BLE升级
- 测试盒uart升级
- JL_RCSP APP OTA升级
- 设备升级(U盘/SD卡)
- 客户私有协议升级
63x系列支持两种固件存储及启动方式,单备份结构(single-bank structure)和双备份结构(dual-bank structure)。 不同存储结构有对应的升级架构,故升级架构有单备份升级和双备份升级两种。
-
优点
- 存储固件的flash容量仅需要一份固件的容量,节省flash空间
- 单备份主要升级过程在update loader中实现,与sdk流程无关,相对稳定,单一线程升级速度相对较快
-
缺点
- update loader已编译二进制方式提供,客制化难度大,暂时无法支持二次开发
- 单备份升级出现意外中断时,无法正常开机。需在loader中等待重新升级成功方能开机使用,影响用户体验
-
适用场景
- flash空间紧张方案
- 成本敏感客户
-
优点
- 升级流程在app_code运行时执行,可以不影响正常功能使用,容易做到无感升级
- 升级意外中断仍有一份可运行代码,容灾体验好
- 无需update loader参与升级,客户可灵活在APP层自定义升级协议格式
-
缺点
- 需要占用比固件大小接近多一倍flash空间
- 升级流程与app_code同步运行,升级可能受运行环境影响
-
适用场景
- 对升级体验有要求的用户
- 方案的flash空间充裕
- 需要客制化升级协议格式
-
使用条件:
- 需要使用杰理蓝牙测试盒,并进入经典蓝牙升级模式
- sdk需要支持经典蓝牙连接,
- 单备份结构需要足够vm空间下载update loader
-
适用场景
- 经典蓝牙方案或蓝牙双模方案
- 开发样机调试
- 量产批量升级
-
使用条件
- 需要使用杰理蓝牙测试盒,并进入ble升级模式
- sdk支持ble连接
- 单备份结构需要足够vm空间下载update loader
-
适用场景
- ble单模方案
- 开发样机调试
- 量产批量升级
-
使用条件
- 需要使用杰理蓝牙测试盒,并进入串口升级模式
- sdk支持lodin引脚双向通信(若其他io需特定uboot支持)
- uart升级无需蓝牙运行及足够vm空间
-
适用场景
- 量产批量升级(无需蓝牙连接,节省升级时间)
- 开发样机调试
- vm空间无法放到无线升级等升级loader的场景
-
使用条件
- sdk支持ble gatt server角色或支持经典蓝牙spp profile
- 单备份升级需相应update loader支持(BLE/SPP不同)
-
适用场景
- 用户端远程固件更新
- 开发样机调试
-
使用条件
- sdk需支持对应设备驱动及文件系统接口
- 单备份升级需对应update loader支持(SD/U盘不同)、
-
适用场景
- 开发样机调试
- 量产批量升级
- 用户端固件更新
-
使用条件
- sdk支持双备份升级架构
- 客户需实现升级回调接口(接口主要提供升级文件数据源)
-
适用场景
- 客户需要自定义升级数据接口或者通信协议格式
- 用户端固件升级
-
接口说明
- 待完善
单备份存储结构仅存在一份固件,进行固件更新时需要一份独立运行的代码进行升级数据源获取及flash更新,这份代码就是update loader。 63x系列sdk将不同升级方式的update loader打包成一个二进制包ota.bin。在升级时,从ufw中先找到ota.bin,再从ota.bin中选择对应升级方式的update loader加载到flash vm空间, 不同升级方式loader占用的空间不同,以下是,不同升级方式update loader大小占用vm空间如下:
升级方式 | 占用vm空间 |
---|---|
测试盒经典蓝牙升级 | 28K~32K |
测试盒ble升级 | 约46K |
测试盒uart升级 | 不占vm空间(12k~16K) |
sd卡升级 | 约16K |
u盘升级 | 约16K |
ble rcsp app升级 | 约56K |
注:以上大小仅为参考值,受不同IC型号略有差异,且不含打印log版本大小。若调试需要开log,占用的vm空间需再增大4k到8K不等