飞凌 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 执行更新操作
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 ,程序开始运行。
来源:oschina
链接:https://my.oschina.net/u/4347613/blog/4304756