差分工具Fota Toolkit使用指南
本文档介绍了差分工具Fota Toolikit的使用方法
Fota Toolkit安装
基本流程
FOTA 服务从流程上具体可分为三大步骤:
- 差分文件制作:生成包含单个或多个镜像的差分文件;
- 差分文件下载:以某种方式将差分文件下载至系统的 FOTA 区域;
- 差分文件还原及更新:bootloader 从差分文件中还原目标镜像和更新固件。
在设备差分升级之前,用户需要使用差分工具对目标版本和基线版本通过差分算法产生一个差分文件,待差分文件下载到设备侧后,使用匹配的算法对文件进行解差分,从而完成目标文件的还原和更新。
FOTA升级
- Yopen版本FOTA升级:具体流程参考Yopen进阶篇FOTA升级
- AT版本FOTA升级:具体流程参考AT进阶篇FOTA升级
使用指南
差分文件制作
打开 FotaToolkitGUI,选择 Generator 标签页
step1:
- Config:选择对应产品项目的配置文件
09XC选择716s.json
09XS选择716e.json
step2:
- Delta File:设置差分文件的名称及路径(默认路径为 FotaToolkitGUI 所在目录,文件名为 default_delta.par)
- Old File:选择旧版本的
.binpkg
文件,文件路径:对应固件/bin/ycom_716e.binpkg
- New File: 选择新版本的
.binpkg
文件,文件路径:对应固件/bin/ycom_716e.binpkg
step3(该步骤可选):
- Old Ver: 旧固件版本号
- New Ver:新固件版本号
版本号具体格式为 Vmmm.nnn.ppp(m,n 和 p 为数字 0-9,分别表示镜像文 件的大、小和补丁版本号),需要注意的是新旧两个版本号不能相同;此外,该版本号仅仅是为了追踪和记录新旧 镜像文件的信息,不会对实际镜像文件版本号进行匹配和校验;
step4:
- Load Addr: 根据step2中的新旧镜像文件的属性(相关镜像属性已在 JSON 文件中配置),选择相匹配的 FLASH 配置信息;
step5:
以上步骤完成后,直接执行“START”制作差分文件即可。显示窗口会实时输出制作过程的所有 LOG 信息,制作 完成后会弹窗提示“成功”还是“失败”,具体的制作结果以及目标文件的详细信息也会输出到显示窗口中。
差分文件升级
打开 FotaToolkitGUI,选择 Upgrader 标签页
step1:
-
Config:选择对应产品项目的配置文件
-
09XC选择716s.json
09XS选择716e.json
step2:
- Delta File:选择上一步生成的差分文件, 文件默认位于 FotaToolkitGUI 所在目录,文件名为 default_delta.par
step3:
- Com port:选择连接设备 AT 通道对应的 COM 口
- BaudRate:选择匹配的波特率(默认为 9600 和 115200),若无匹配的选项,用户可直接输入所需的波特率;
step4:
- Download:下载
- Reboot:重启
用户可以根据实际需要选择是否执行差分文件“下载”或设备“重启”,工具默认执行“下 载”和“重启”;若选择不下载差分文件,则窗口会输出差分文件成功转换后的 AT 指令;若选择不重启设备,则差 分文件仅会被下载到 FLASH 的 FOTA 区域,后续用户可根据需要通过手动重启设备等方式完成镜像版本的升级;
step5:
- Target:选择存储设备的指定区域
- Enable:使能
“使能”扩展存储区文件下载功能,并选择存储设备的指定区域,用户可在*.json 配置文件中设置扩展存储区域的地 址及尺寸;若扩展存储区的地址和尺寸都为 0 时,文件则会被下载到系统默认的外部存储区域。值得注意的是,若未“使能”外部设备文件下载功能,文件将会被下载到系统的默认定义的 FOTA 区域;
step6:
执行“START”,升级时显示窗口会出现上图所示的AT交互信息。
差分文件更新
差分文件下载结束后重启模块,自动进入差分文件更新。UART1串口显示更新进度,更新完成后自动更新。更新完成后可以通过ATI查询版本信息。
常见问题
差分包数据过大
当新版本与旧版本差异过大,会导致差分文件数据过大,在差分文件升级时,AT交互显示窗口会显示升级失败,返回错误码提示数据包大小错误,如下图:
检测到差分更新文件体积超出限制操作失败时,请选择版本号相近的固件版本重新执行升级操作。
旧固件版本错误
当模块烧录的固件版本与制作差分包时选择的旧固件版本不一致,在下一步差分文件升级时窗口会报错固件校验失败:
出现此错误时,检查模组中当前的固件版本,确保当前烧录的为制作差分文件的旧版本即可正常升级。