【经验分享】RT1060 OTA bootloader LWIP http更新步骤
一文档说明
本篇经验分享主要针对官方SDK_2.7.0_EVK-MIMXRT1060 中新加的ota_bootloader结合lwip_httpssrv_ota,通过网页版以及以太网去更新自身的app的功能。由于最近遇到一些网友在运行这两个例程的时候,总是不能成功,鉴于SDK例程中readme只是文字描述,并不是非常形象直观,所以这里写一个具体步骤,帮助大家在MIMXRT1060-EVK开发板上成功运行SDK的ota_bootloader + lwip_httpssrv_ota代码OTA功能。
二OTA运行步骤以及测试结果
1,下载SDK
建议大家在下载SDK的时候,把middleware全部选上,然后再生成代码并下载。
2. 下载两个代码到MIMXRT1060-EVK
MIMXRT1060-EVK boot模式选择为internal boot,即SW7:1-OFF,2-OFF,3-ON,4-OFF。
2.1 下载otabootloader
首先打开ota bootloader代码,SDK路径:
SDK_2.7.0_EVK-MIMXRT1060\boards\evkmimxrt1060\bootloader_examples\ota_bootloader
使用flexspi_nor_release版本,编译后,可以查看icf文件,可以发现:
代码空间小于0X6003C000.
下载代码到MIMXRT1060-EVK开发板中。
2.2 下载lwip_httpssrv_ota
SDK路径:SDK_2.7.0_EVK-MIMXRT1060\boards\evkmimxrt1060\lwip_examples 编译后,可以查看icf文件,可以发现:
下载代码到MIMXRT1060-EVK 板。从代码空间分布可以看到lwip_httpssrv_ota和ota bootloader两个工程分布在不同的空间,所以两次下载,不会重叠,上电后会先运行ota bootloader,然后跳转到lwip_httpssrv_ota,再通过http可以更新lwip_httpssrv_ota自身的代码并运行。
3. 配置PC的以太网属性
打开电脑的以太网属性,配置TCP/IPv4属性如下:
配置完成后,找根以太网线连接PC和MIMXRT1060-EVK开发板的以太网口,并使用USB线连接开发板J41供电。
4. PC电脑ping开发板
从上图可以发现,ping开发板IP 192.168.0.102已经能够ping通,说明开发板的以太网口已经通了。
这时候可以打开串口助手,查看打印信息:
Initializing PHY...
************************************************
mbedSSL HTTPS Server example
************************************************
IPv4 Address : 192.168.0.102
IPv4 Subnet mask : 255.255.255.0
IPv4 Gateway : 192.168.0.100
************************************************
5. 修改evkmimxrt1060_lwip_httpssrv_ota_freertos版本号
为了便于分辨lwip_httpssrv_ota的版本号,这样更新后可以发现是否真的网页更新固件成功。所以这里修改evkmimxrt1060_lwip_httpssrv_ota_freertos工程代码,添加版本打印信息,static void stack_init(void):
编译,并生成evkmimxrt1060_lwip_httpssrv_ota_freertos_V2.bin
6. 打开浏览器,网页更新ota代码
由于当前下载进开发板的V1版本,所以网页里面选择更新的V2版本bin。
从测试结果可以看到,如果当前是V1版本,更新之后,再运行,已经是V2版本,说明网页已经成功实现OTA的功能。如果当前是V2版本,再去更新V1版本,情况也是一样,更新成功后,运行之后是V1。
附件里面也添加生成好的V1,V2两个版本,有兴趣的网友可以自行尝试。
|