研发课堂丨飞凌iMXRT1052开发板使用IAP在线升级APP的操作方法
钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>
飞凌 OK1052-C 开发板烧写方式及工具多种多样,现在我们先来总结一下:
1、 SWD 方式烧写,使用 DAP 仿真器,上位机使用 keil MDK 点击 download 下载。
2、 USB 方式烧写,使用 USB 数据线连接板子和 PC 机,上位机有三个烧写工具:
1) NXP MCU Boot Utility 工具。
2 ff9 ) 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 执行更新操作
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文件作如下更改:
注释掉以下代码:
然后进入魔术棒—user ,在 Run#1 中加入命令以生成 .bin 文件:
#K\ ARM\ARMCC\bin\fromelf.exe --bincombined --output=.\DebugInFlash\@L.bin !L
配置完成,之后编译工程,最后会生成 igpio_led_out.bin 镜像文件,至此 APP 镜像制作完成。
步骤三: IAP 烧写 APP 镜像
BootLoder 镜像烧写完成之后,打开 PC 机软件 secureCRT ,配置好串口:
重启板子,通过串口打印信息,可以看到
:
然后按空格键,可以进入菜单:
选择 2 update app 更新 APP 镜像:
选择要烧写的镜像:
烧写成功:
重启板子或者选择 1 : run app ,程序开始运行。
- 研发课堂丨飞凌iMXRT1052开发板使用IAP在线升级APP的操作方法
- 使用USART接口进行STM32F0的在线升级(AN4065)-基于标准库的STM32F070的IAP移植手记
- 使用USART接口进行STM32F0的在线升级(AN4065)-基于标准库的STM32F070的IAP移植手记
- 使用C#的WebService实现客户端软件的在线升级功能[转]
- 使用C#的WebService实现客户端软件在线升级
- STM32 IAP在线升级
- C# LiveUpdate.exe实现文件在线更新升级(原理说明,使用指南一)
- 怎么写stm8的IAP升级的bootloader和app
- STM32 IAP在线升级
- STM32 IAP在线升级
- 关于SDK升级到5.0,使用ADT-Bundle中产生的appcompat_v7错误的解决办法.
- 嵌入式应用编程经验之谈-IAP(在线升级)
- STM32 IAP 串口在线升级源码详解
- RedHat Linux中自带的yum在线升级机制不能使用的问题
- STM32 IAP 在线升级
- STM32 IAP 在线升级详解
- APP在线演示预览网站appetize.io详细使用介绍
- STM32的IAP在线升级的源码中的地址解读
- iOS内购(IAP,In App Purchases-在APP内部支付),设置及使用