主要步骤:
1:代码添加 ota_app_service
2:keil软件添加ota_app代码
3:烧录软件添加ota设置
4:手机ota_app升级
准备:
奉加微电子官网下载6222的代码SDK,V3.0以上
下载官网的PhyPlusKit串口烧录工具
下载PhyOTA 的APP版本V2.2.3(官网没有可在应用商城搜索,华为应用商城有搜索到,一定要V2.2.3及其以上)
1:代码添加OTA部分
1.1:添加函数在蓝牙服务中 ,
ota_app_AddService(); //OTA服务
此函数在SDK的
E:\PHY62XX_SDK_3.1.2_0820\components\profiles\ota_app中
添加此函数在自己代码 中(如下图)1.2:记得包含头文件 ota_app_service.h
并且,如果代码里面写了MAC地址的函数记得屏蔽//at_update_bd_addr(); //屏蔽此函数,否则ota不成功
1.3:打开main.c
把三个SRAM全部打开,OTA会运行在SRAM高地址区域,如下图
2:keil软件添加ota代码文件
2.1:主要是添加ota_app_service.c在工程里面
2.2:添加文件路径
2.3修改sct文件
把ota_app_service.o(+RO)
添加进分散加载文件里面
2.4编译工程
3:烧录软件添加OTA.hex
ota.hex文件在SDK的demo里面,自己编译一下single_banke工程,即可得到
APP就是前面自己的工程代码
选择 Single NO FCT
此模式的意思就是,升级的时候蓝牙app会暂停程序且覆盖写入
(SLB OTA就是升级时程序不停止,一边正常运行,一边升级)
自己写一个MAC地址
连接串口
MT引脚拉高,复位开发板
先erase
再write
4:手机OTA升级
4.1生成一个手机需要的升级文件.hex16结尾的文件
点一下工具的Hex16按钮自动生成
4.2把hex16文件放在手机根目录下,一定要根目录下一定要这个版本OTA的APP
之前用了官网的低版本OTA 的APP,太新的手机用不了
选择hex16文件,点击升级即可
常见问题
升级app的时候出现连接不了,有可能代码里面没有成功添加ota服务连接成功,升级一半断掉了,app版本太低文件解析错误,关掉手机的蓝牙,重启一次蓝牙,或者app版本太低