一、实验目的:
- 测试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是否成功
四、实验结果:
五、附录:
#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"
#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"