主要步骤:
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不成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc7fae7c129a48e990c769f8ce82bb11.png)
1.3:打开main.c
把三个SRAM全部打开,OTA会运行在SRAM高地址区域,如下图
![在这里插入图片描述](https://img-blog.csdnimg.cn/937552314b7c4b968803f83665780bff.png)
2:keil软件添加ota代码文件
2.1:主要是添加ota_app_service.c在工程里面
2.2:添加文件路径
![在这里插入图片描述](https://img-blog.csdnimg.cn/40d57cc26070498bb080c6c138b507b0.png)
2.3修改sct文件
把ota_app_service.o(+RO)
添加进分散加载文件里面
![在这里插入图片描述](https://img-blog.csdnimg.cn/8787f3174d284b3cad4023c76e0cd7e4.png)
2.4编译工程
3:烧录软件添加OTA.hex
ota.hex文件在SDK的demo里面,自己编译一下single_banke工程,即可得到
APP就是前面自己的工程代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/a52a9fa3853a475da9db78719869345c.png)
选择 Single NO FCT
此模式的意思就是,升级的时候蓝牙app会暂停程序且覆盖写入
(SLB OTA就是升级时程序不停止,一边正常运行,一边升级)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d566f5c2697f4b5fb470293f6d5645e8.png)
自己写一个MAC地址
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e811a805ac045bb84406db0a9807b93.png)
连接串口
MT引脚拉高,复位开发板
先erase
再write
![在这里插入图片描述](https://img-blog.csdnimg.cn/0662bc234e0f4956af7079165470dea1.png)
4:手机OTA升级
4.1生成一个手机需要的升级文件.hex16结尾的文件
点一下工具的Hex16按钮自动生成
![在这里插入图片描述](https://img-blog.csdnimg.cn/092d84247d0a464199ea6911eb7c4ff4.png)
4.2把hex16文件放在手机根目录下,一定要根目录下
一定要这个版本OTA的APP
之前用了官网的低版本OTA 的APP,太新的手机用不了
![在这里插入图片描述](https://img-blog.csdnimg.cn/d885facb08684afbb5df2b9b6995f592.png)
选择hex16文件,点击升级即可
![在这里插入图片描述](https://img-blog.csdnimg.cn/3186638d9eff452794e8805dc1db7398.png)
常见问题
升级app的时候出现连接不了,有可能代码里面没有成功添加ota服务
连接成功,升级一半断掉了,app版本太低
文件解析错误,关掉手机的蓝牙,重启一次蓝牙,或者app版本太低