查看: 5438|回复: 9

[原创] 【经验分享】RT1060 OTA bootloader LWIP http更新步骤

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20048
最后登录
2024-4-28
发表于 2020-5-26 17:28:47 | 显示全部楼层 |阅读模式

【经验分享】RT1060 OTA bootloader LWIP http更新步骤

一文档说明

        本篇经验分享主要针对官方SDK_2.7.0_EVK-MIMXRT1060 中新加的ota_bootloader结合lwip_httpssrv_ota,通过网页版以及以太网去更新自身的app的功能。由于最近遇到一些网友在运行这两个例程的时候,总是不能成功,鉴于SDK例程中readme只是文字描述,并不是非常形象直观,所以这里写一个具体步骤,帮助大家在MIMXRT1060-EVK开发板上成功运行SDKota_bootloader + lwip_httpssrv_ota代码OTA功能。

OTA运行步骤以及测试结果

1,下载SDK


建议大家在下载SDK的时候,把middleware全部选上,然后再生成代码并下载。

SDK生成.jpg

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文件,可以发现:

bootloader image 空间_iar.png

代码空间小于0X6003C000.

下载代码到MIMXRT1060-EVK开发板中。

2.2 下载lwip_httpssrv_ota

   SDK路径:SDK_2.7.0_EVK-MIMXRT1060\boards\evkmimxrt1060\lwip_examples
编译后,可以查看icf文件,可以发现:
ota image 空间_iar.png

下载代码到MIMXRT1060-EVK 板。从代码空间分布可以看到lwip_httpssrv_otaota bootloader两个工程分布在不同的空间,所以两次下载,不会重叠,上电后会先运行ota bootloader,然后跳转到lwip_httpssrv_ota,再通过http可以更新lwip_httpssrv_ota自身的代码并运行。

3. 配置PC的以太网属性

   打开电脑的以太网属性,配置TCP/IPv4属性如下:


PC IP配置.png
配置完成后,找根以太网线连接PCMIMXRT1060-EVK开发板的以太网口,并使用USB线连接开发板J41供电。

4. PC电脑ping开发板
ping IP.png


从上图可以发现,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)


version代码添加.png

编译,并生成evkmimxrt1060_lwip_httpssrv_ota_freertos_V2.bin

6. 打开浏览器,网页更新ota代码

打开浏览器,比如chrome 输入网址: http://192.168.0.102

由于当前下载进开发板的V1版本,所以网页里面选择更新的V2版本bin

网页下载步骤.png

从测试结果可以看到,如果当前是V1版本,更新之后,再运行,已经是V2版本,说明网页已经成功实现OTA的功能。如果当前是V2版本,再去更新V1版本,情况也是一样,更新成功后,运行之后是V1

附件里面也添加生成好的V1,V2两个版本,有兴趣的网友可以自行尝试。



【经验分享】RT1060 OTA bootloader LWIP http更新步骤.pdf (548.19 KB, 下载次数: 109)
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
    发表于 2020-5-27 13:33:56 | 显示全部楼层
    只有1062相关代码。没有1061支持,需要直接移植。。。
    微信截图_20200527133326.png
    该会员没有填写今日想说内容.
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-4-15 14:49
  • 签到天数: 1 天

    [LV.1]初来乍到

    5

    主题

    88

    帖子

    0

    高级会员

    Rank: 4

    积分
    784
    最后登录
    2024-4-25
    发表于 2020-5-27 09:55:32 | 显示全部楼层
    非常实用
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
    发表于 2020-6-1 13:25:33 | 显示全部楼层
    只支持hyperflash,买的飞凌1061核心板,表示玩不转。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    20048
    最后登录
    2024-4-28
     楼主| 发表于 2020-6-4 17:19:20 | 显示全部楼层
    walkout 发表于 2020-6-1 13:25
    只支持hyperflash,买的飞凌1061核心板,表示玩不转。

    其他flash思想一样的,并不局限于Hyperflash,QSPI flash照样可以。
    官方的MIMXRT1060-EVK就是QSPI flash
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-6-15 09:23
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    0

    主题

    14

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2022-6-30
    发表于 2021-9-27 19:12:26 | 显示全部楼层
    .bin 是工具生成的还是keil生成的?
    加油加油加油
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-11-29 09:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    9

    帖子

    0

    注册会员

    Rank: 2

    积分
    78
    最后登录
    2023-9-11
    发表于 2021-9-30 14:50:47 | 显示全部楼层
    玩了一下这个范例,在更新时断电后,仍可以开机
    所以 bootloader 有用到 swap 架构吗? 还是个怎么样的设计?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-6-15 09:23
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    0

    主题

    14

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    415
    最后登录
    2022-6-30
    发表于 2021-10-1 16:16:58 | 显示全部楼层
    scarlee 发表于 2021-9-30 14:50
    玩了一下这个范例,在更新时断电后,仍可以开机
    所以 bootloader 有用到 swap 架构吗? 还是个怎么样的设计? ...

    没有只是一个例程,这个肯定需要自己编写了吧。
    加油加油加油
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    注册会员

    Rank: 2

    积分
    56
    最后登录
    2022-11-29
    发表于 2022-8-16 15:33:38 | 显示全部楼层
    本帖最后由 eefocus_3859583 于 2022-8-16 15:45 编辑

    請問這個example code有辦法直接在官方的MIMXRT1060-EVK(QSPI flash)測試嗎?還是使用QSPI的話source code需要更改?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    11
    最后登录
    2023-6-23
    发表于 2023-6-23 19:49:28 | 显示全部楼层
    本帖最后由 colinlam 于 2023-6-23 19:52 编辑

    RT1050-EVKB 开发板试了一试,就是PC打不开 192.168.0.102
    然后,烧录后,不能从boot 转到 OTA,
    只是OTA在仿真时,PC能ping 通 192.168.0.102
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-28 09:25 , Processed in 0.186977 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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