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

霸气de小男生 提交于 2020-08-16 07:42:29

飞凌 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 ;

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

2) 如果没有接收到 “ space ”字符,则 跳转到第二部分代码执行 app

3) 如果接收到该字符,进入选择菜单。

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

4) 选择 2 执行更新操作

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

5) 选择镜像,并更新完成之后,再次进入菜单,可选择 1 运行新的 app ,也可选择 3 重新启动系统:

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

使用 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\ 下工程。

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

选择 XIP 工程:

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

然后进入魔术棒—link 配置 --Edit :

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

打开MIMX RT1052xxxxx_flexspi_nor.scf文件作如下更改:

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

注释掉以下代码:

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

然后进入魔术棒—user ,在 Run#1 中加入命令以生成 .bin 文件:

#K\ ARM\ARMCC\bin\fromelf.exe --bincombined --output=.\DebugInFlash\@L.bin !L

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

配置完成,之后编译工程,最后会生成 igpio_led_out.bin 镜像文件,至此 APP 镜像制作完成。

步骤三: IAP 烧写 APP 镜像

BootLoder 镜像烧写完成之后,打开 PC 机软件 secureCRT ,配置好串口:

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

重启板子,通过串口打印信息,可以看到

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

然后按空格键,可以进入菜单:

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

选择 2 update app 更新 APP 镜像:

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

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

选择要烧写的镜像:

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

烧写成功:

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!