哈喽,大家好。
今天给大家分享一下中科蓝讯 BT8918 的 FOTA 升级流程。 注意,BT8918 暂不支持 UI 资源的 FOTA 升级,这会涉及到程序空间和 UI 资源空间大小的重新分配。 且目前 BT8918 只支持 APP 进行 FOTA 升级。 下面将详细介绍 FOTA 升级流程,希望在大家使用 FOTA 升级时有所帮助。
1、打开 FOTA 的宏升级开关 LE_APP_FOT_EN
2、空间分配设置
(1) SDK 程序空间大小设置
宏 FLASH_CODE_SIZE 用于设置程序使用空间的大小,注意编译之后计算得出的实际程序空间大小应小于此值,如下图为编译之后的实际程序大小:
(2) 程序空间和 UI 资源空间分配
在 app.xm 文件中可以分配程序空间和 UI 资源空间(存放的是表盘、图标等资源文件);
第一个红色方框设置的是 FOTA的第二块程序空间的起始地址(FOTA升级采用双备份升级),与宏 FLASH_CODE_SIZE 的值相等;
第二个红方框设置的是参数区的大小,须保持不变,并需设置为 0x6000;
第三个红色方框是 FOTA升级所需的程序空间总大小(FLASH_CODE_SIZE * 2,(FOTA升级采用双备份升级)) + BOOT 区(8KB);
第四个红色方框是 UI 资源空间的大小,该值应大于编译之后实际 ui.bin 文件的大小。 UI 资源空间的起始位置在程序空间之后。 可以在 app\projects\watch\Output\bin 路径下找到 ui.bin 文件,可见该文件的值比第四个红色方框的值小:
(3) UI 资源起始地址设置
在 app\projects\watch\Output\bin 路径下找到 ui.xm 文件,打开之后可在图中红色方框中修改 UI 资源起始地址;
3、FOTA 升级 APP 准备
(1) APP 链接获取:
APP 链接获取可与我司联系。
安装下载的 AB-OTA-Demo_general_1.4_21061600_release.apk APP 后,图标如下:
(2) 升级软件源码
下载文件中包含的以上两个压缩包是升级软件的源码,可以分别集合到自开发的安卓 APP 或者 ios APP 中;
4、FOTA升级流程介绍
(1) 勾选开始选项卡中的“扩展”选项,然后下载程序进样机或开发板,此步完成之后,往后再对 SDK 做的修改才可以通过 FOTA 进行升级;
(2) 假设此时 SDK 做了修改,先注释掉 app.xm 中的一句话,然后重新编译 SDK:
(3) 转化 . fot 文件
打开 dcf 文件,点击转换,文件名可任意,保存类型选择 .fot; 并把该 .fot 文件保存到手机。
(4) 打开 app,点击 BLE OTA,找到 BLE 并连接
注意,ble 可能需要下滑页面较久!
(5) ble 连接之后,右上角选择文件,找到保存到手机的 .fot 文件即可升级;
5、程序空间和 UI 资源空间再分配概述
在对 SDK 进行二次开发时,程序空间和 UI 资源空间分配并不一定与 SDK 默认的一致,如,可能需要比 SDK 默认更大的 UI 资源空间,此时要进行 FOTA升级,应通过编译之后实际程序空间大小,修改 FLASH_CODE_SIZE 宏的值; 然后按 2 中的描述,依次修改 FOTA 的第二块程序空间的起始地址、FOTA升级所需的程序空间总大小 + BOOT 区、UI 资源空间的大小和UI 资源起始地址。 程序空间使用得多,留给 UI 资源的空间就小,反之同理,读者自行合理安排空间分配。
中科蓝讯 BT8918 的 FOTA升级流程就介绍到这里,希望在大家使用FOTA升级时帮助到大家。 如有错误欢迎大家批评指正。 如果大家还有什么其他的问题或者功能想要询问,亦可以在评论区中提出,可以共同探讨,一起进步。
参考文档:
《BT8918 SDK 开发指南 V0.0.7》
评论