1) 工程修改
确认工程lib文件包含OTA,如图 1;图 1 OTA库
修改“usr_config.h”中宏定义,如图 2使能如下功能:#define CFG_PRF_OTAS
#define CFG_TASK_OTAS TASK_PRF7 (Mandatory)
图 2 使用OTA宏定义
如下的功能根据需求是否使能,如图 3;/// Accept upgrade request by application
//#define CFG_OTAS_APP_CTRL
//#define CFG_OTAS_SET_UUID
图 3 OTA可选宏定义
2) 固件烧写使用OTA后,需要使用ISP Studio进行固件烧录,需要勾选“OTA”选项,如图 4;
图 4 ISP烧录勾选“OTA”
3) 加密待升级的固件需要升级的bin文件(本文以qpps.bin为例)拷贝到\QN902x_SDK_1.4.0\Tools\qotapack目录下,如图 5;
图 5 OTA加密工具
运行cmd并切换到qotapack目录下,如图 6;
图 6 命令行进入工具目录
运行如下命令对待升级的固件进行加密,如图 7;qotapack --version=0929 --encrypt --key=11223344556677889900AABBCCDDEEFF --from=qpps.bin --to=qpps_encrypted.bin;
图 7 加密固件
注:可以在工程文件otas_task.h文件中OTAS_DECRYPT_KEY;加密后在qotapack目录下生成加密固件,如图 8;
图 8 固件加密后输出
4) 手机升级测试手机(本文以hauwei手机为例)连接电脑,将加密后的固件拷贝到“/Android/data/com.quintic.ble.ota/files”下,如图 9;
图 9 待升级固件拷贝到手机
安装OTA手机APP(可联系原厂或者代理商),安装后打开软件如图 10,连接开发板后如图 11;
图 10 手机APP
图 11 连接开发板
点击“Load Firmware”,后出现加密后的固件如图 12,点击固件文件进行OTA升级如图 13;
图 12 加载固件
图 13 升级固件