单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 281|回复: 0
打印 上一主题 下一主题
收起左侧

为自己的DA14580工程添加OTA功能

[复制链接]
跳转到指定楼层
楼主
yeah哟 发表于 2019-5-15 19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简介:此方法基于DA14580官方SDK_5.0.4更改,可以为自己的工程增加OTA功能。
详细步骤如附件。
相关工具另外发帖。

简介:此方法基于DA14580官方SDK_5.0.4更改,可以为自己的工程增加OTA功能。
一、开发准备:
1、DA14580官方SDK:DA1458x_SDK_5.0.4
2、官方SDK5OTA文档
3、转换工具
4、手机APP

二、工程代码更改步骤:
1、同时打开自己的工程和官方SDK中的例程ble_app_ota.uvprojx。

2、更改自己蓝牙的地址,不要与其它蓝牙地址冲突就行。

3、更改宏定义。

4、包含头文件

5、更改广播数据和设备的名称。将广播数据更换成官方ota例程的数据,这一段数据如果不一致会导致手机软件suota搜不到设备。名称可以随意设定。

6、编译自己的工程,会出现错误,根据错误提示,将没有定义的函数或变量从官方ota例程中全局搜索并对比每一处,更改为一样即可。
              错误一:user_profile_callbacks
在官方ota例程中全局搜索
将官方ota与自己工程不一致的地方复制到自己工程
错误二:on_spotar_status_change
将官方ota与自己工程不一致的地方复制到自己工程

错误三:变量没有定义。
SDK5.0.4\SDK5.0.4\DA1458x_SDK_5.0.4\DA1458x_SDK\5.0.4\sdk\ble_stack\profiles\spota 目录下的spotar文件夹复制到自己工程的(src)文件夹,并在工程中添加。
将文件添加完成后就可以编译通过了。


编译通过后,请转至文档最后,还有一段代码需添加。
三、转换文件准备
程序更改已经完成,下面进行bin文件与imag文件的生成。
1、转换工具需要两个工程输出的HEX文件。
先编译工程生成HEX文件cocobit_19_5_11_1

然后随意更改任意一处,加个延时或者定义变量,反正要与上一个程序不一样,因为OTA时会验证程序是否一样。更改后生成cocobit_19_5_11_2

将两个HEX文件更改为fw_1和fw_2放入转换工具的input文件夹中,
创建两个头文件,要求第二个头文件的版本信息和时间都需要比第一个的高。
如果是580的工程就更改下名字,585就该另外一个。


四、生成bin和image文件
1、安装python环境
              去官网https://www.python.org/downloads/ 下载安装包
              为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到pth系统变量中即可
测试python安装是否成功,cmd打开命令行输入 python 命令,如下图即成功:

2、运行脚本
访问转换工具文件夹,然后输入命令运行脚本
成功生成文件

3、查看output文件夹。(运行脚本前可以把文件夹内容都删除)
然后将fw_multi_part_spi.bin文件用SmartSnippets烧录到flash。
五、烧录bin文件与OTA功能验证
1、烧录的时候选择
烧录成功,重新上电。
2、打开手机SOUTA手机APP就可以搜索到设备相关的名称和地址。
3、将转换工具生成的img文件放到手机Suota文件夹。
4、在手机APP上点击设备,选择updata device,
选择send to device

升级完成之后选择重启设备。
至此,整个过程完毕。
六、测试
测试OTA功能是否正常,在工程改一下设备名称,编译生成HEX文件后再按照上述步骤,将HEX改成fw_2.hex,然后在头文件fw_2_version.h把时间更改为现在的时间,保证要大于之前的时间或者版本即可。
将生成的fw_image_2.img文件用手机升级即可。升级完成之后,手机发送重启命令,设备没有完成重启,必须手动重启才能使程序生效,那是因为还有一段代码没有复制过去。
重启代码如下,添加后可完善OTA程序。即OTA完成后可用app复位,不用手动复位。


完整的Word格式文档51黑下载地址:
详细步骤.docx (2.26 MB, 下载次数: 0)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表