研发课堂丨飞凌iMXRT1052开发板使用IAP在线升级APP的操作方法

飞凌 OK1052-C 开发板烧写方式及工具多种多样,现在我们先来总结一下:

1、 SWD 方式烧写,使用 DAP 仿真器,上位机使用 keil MDK 点击 download 下载。

2、 USB 方式烧写,使用 USB 数据线连接板子和 PC 机,上位机有三个烧写工具:

1) NXP MCU Boot Utility 工具。

2) RT-flash 工具。

3) MfgTool2工具。

3、 SD 方式卡烧写,将要烧写的镜像放入 SD 卡,从 SD 卡启动烧写程序进行烧写。

当然除了以上我们总结的几点, OK1052-C 还有其他烧写方式,这里不再一一列举。这几种方式各有千秋也各有不便,具体优缺点需要根据大家的应用环境决定。

一、简单介绍一下 IAP

今天给大家介绍一下,如何通过 IAP 方式进行程序烧写。目前 OK1052-C IAP 功能,在设计 在设计固件程序时编写两个项目代码,第一个项目程序 ( bootloder ) 不执行正常的功能操作,而只是通过 UART 接收 镜像 数据,执行对第二部分代码的更新;第二个项目代码 ( app ) 才是真正的功能代码。这两部分项目代码都同时烧录在 User Flash 中,当芯片上电后,首先是第一个项目代码 bootloder 开始运行,它作如下操作:

1) 串口等待输入 “ space ”键,等待超时时间 1000ms ;
在这里插入图片描述
2) 如果没有接收到 “ space ”字符,则 跳转到第二部分代码执行 app
3) 如果接收到该字符,进入选择菜单。
在这里插入图片描述

4) 选择 2 执行更新操作
打印信息.jpg

5) 选择镜像,并更新完成之后,再次进入菜单,可选择 1 运行新的 app ,也可选择 3 重新启动系统:
在这里插入图片描述
使用 IAP 方式进行程序烧写,就省去了频繁使用仿真器连接烧写的麻烦,也不用像 USB 烧写那么繁琐。不管是开发阶段还是 维护阶段,都能轻松升级。

二、具体操作,实现 APP 升级

OK1052-C IAP 主要使用串口通过 Ymodem 协议进行镜像数据传输,因为 secureCRT 工具有 Ymodem 传输功能,所以我们使用 secureCRT 工具作为串口终端。

步骤一:烧写 BootLoder 镜像。

烧写 BootLoder 镜像我们可以使用 SWD 方式和 USB 方式烧写,烧写一次即可。

步骤二:制作 APP 镜像

我们的 BootLoder 镜像存储在 flash 中的空间范围为: 0X0 – 0X7FFF;

APP 镜像存储偏移地址为: 0X8000 ;

以 gpio 例程为例,我们做一个 APP 镜像:

打开\boards\evkbimxrt1050\driver_examples\gpio\led_output\mdk\ 下工程。
在这里插入图片描述

选择 XIP 工程:
在这里插入图片描述
然后进入魔术棒—link 配置 --Edit :
在这里插入图片描述
打开MIMX RT1052xxxxx_flexspi_nor.scf文件作如下更改:
代码.jpg

注释掉以下代码:

在这里插入图片描述
然后进入魔术棒—user ,在 Run#1 中加入命令以生成 .bin 文件:

#K\ ARM\ARMCC\bin\fromelf.exe --bincombined --output=.\[email protected] !L
在这里插入图片描述
配置完成,之后编译工程,最后会生成 igpio_led_out.bin 镜像文件,至此 APP 镜像制作完成。

步骤三: IAP 烧写 APP 镜像

BootLoder 镜像烧写完成之后,打开 PC 机软件 secureCRT ,配置好串口:
在这里插入图片描述
重启板子,通过串口打印信息,可以看到
在这里插入图片描述
然后按空格键,可以进入菜单:
在这里插入图片描述
选择 2 update app 更新 APP 镜像:
在这里插入图片描述
在这里插入图片描述

选择要烧写的镜像:
在这里插入图片描述
烧写成功:
在这里插入图片描述

重启板子或者选择 1 : run app ,程序开始运行。

https://www.forlinx.com/article_view_418.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章