一、实验目的:
测试da14580的空中升级功能,一般项目都需要具备ota功能
二、实验环境:
硬件环境:da14580开发板,带flash版本
sdk版本:5.0.4
编译工具:keil5 请支持正版
测试demo:DA1458x_SMARTTAG_5.20.2
使用工具:hex2bin.exe mkimage.exe
测试手机:iphone5
测试软件:SUOTA (该app通过广播service中是否包含0xfef5来判断是否可以ota)
三、实验步骤:
1、首先编译生成bootloader
secondary_bootloader的工程路径为: xxx\utilities\secondary_bootloader
编译后生成hex文件: secondary_bootloader.hex ,备用
2、编译应用文件
本例中使用DA14580_SMART_TAG_5.20.2\projects\target_apps\smart_tag
编译后生成hex文件: smart_tag_580.hex ,备用
3、hex转bin
使用hex2bin.exe 将步骤1、2中hex转成bin文件备用
转换命令:hex2bin.exe xxx.hex
4、使用mkimage将应用程序bin文件打包成img格式
下述命令中的fw_1_version.h将在文章末尾展示
打包命令:mkimage.exe single smart_tag_580.bin fw_1_version.h smart_tag_580.img
5、使用mkimage将img格式的应用文件和bin格式的bootloader打包成一个bin文件
下述命令中的fw_1_version.h将在文章末尾展示
打包命令:mkimage.exe multi spi secondary_bootloader.bin smart_tag_580.img 0x8000 smart_tag_580.img 0x13000 0x1f000 smart_tag_580_ota.bin
6、将5中生成的bin文件通过smartsnippets写入flash中
注意:由于次bin文件携带了head信息,因此烧录时不需要软件再添加head信息了
7、复位开发板
复位开发板,可以广播,说明上述步骤操作正确
8、修改应用程序,可修改设备名称,方便观察ota升级成功与否
9、编译生成ota所需要的img文件
重复上述2、3、4操作,生成应用img文件
注意:将步骤4中的fw_1_version.h换成fw_2_version.h
10、将img文件放入到安装SUOTA app的手机中
11、使用SUOTA扫描设备,连接,并进行OTA
12、待OTA完成后,复位开发板,重新扫描,验证ota是否成功
四、实验结果:
按照上述步骤操作,如果硬件没有问题,ota成功
五、附录:
fw_1_version.h
#define DA14580_SW_VERSION "v_5.0.4.0"
#define DA14580_SW_VERSION_DATE "2017-05-09 16:11 "
#define DA14580_SW_VERSION_STATUS "REPOSITORY VERSION"
fw_2_version.h
#define DA14580_SW_VERSION "v_5.0.4.1"
#define DA14580_SW_VERSION_DATE "2017-05-09 16:31 "
#define DA14580_SW_VERSION_STATUS "REPOSITORY VERSION"