【朝花夕拾】如何下载RT1170 MDK RAM代码到外部flash

1. 文档简介

应客户要求,需要提供一篇指导如何把RT1170 MDK的RAM代码下载到外部flash的文章,所以,本篇文章基于NXP RT1170 SDK, 官方MIMXRT1170-EVK开发板,生成MDK RAM 工程,偏移APP image,生成image,使用工具去下载到外部flash中。

2. App image 准备

2.1 生成一个SDK MDK standalone 工程

在这里插入图片描述

图1
在这里插入图片描述

图2
下载之后,可以获得MIMXRT1170-EVK-iled_blinky_cm7.zip,这个就是一个MDK工程。

2.2 MDK 工程代码偏移地址

RAM image是一个none-xip image,通常对于IDE,只能下载到目标RAM地址去debug,不能直接下载到flash,因为debug是在RAM中。所以,如果需要下载到flash,通常需要生成一个app image,然后使用工具去下载到外部的flash。对于none-xip image, IVT 偏移伟0X400,所以需要重新偏移image的起始地址,这里,我们使用0X2000作为app的入口地址。
在这里插入图片描述

图3
ITCM 默认大小256K=0X4000, 所以修改linker文件-> scf 文件如下:
在这里插入图片描述

图4
现在,生成可用的hex,bin image文件,这种后缀文件是可以支持工具下载到flash的。
在这里插入图片描述

图5
编译代码,这里添加生成bin文件的命令:
$K\ARM\ARMCC\bin\fromelf.exe --bin --output=debug@L.bin !L
在这里插入图片描述

图6
编译,你可以发现image的文件在文件夹:
MIMXRT1170-EVK-iled_blinky_cm7\iled_blinky_cm7\debug
在这里插入图片描述

图7

2.3 地址偏移后debug MDK 工程

在image做了偏移之后,如果直接去debug是不能进入到代码中的,因为现在的debug .ini文件已经不匹配了,所以如果还是需要支持直接debug,那么就需要修改debug .ini文件和linker文件的入口地址匹配,这里主要修改Setup函数,改变SP,PC还有中断偏移寄存器的地址如下:
在这里插入图片描述

图8
编译,并且debug代码,我们可以看到,可以进入到RAM image并且调试:
在这里插入图片描述

图 9

3. APP image下载

这里,我们可以使用MCUBootUtility工具去下载代码:
https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v6.1.0
工具对应的文档是:
https://github.com/JayHeng/NXP-MCUBootUtility
下载并且打开工具。
MIMXRT1170-EVK 开发板需要进入到serial download mode,改变SW1:
1-OFF,2-OFF,3-OFF,4-ON
开发板断电,并且重新上电,再找一个USB线连接到J20 USB1接口。
然后,使用MCUbootUtility去连接开发板:
在这里插入图片描述

图10
连接之后,选择刚刚生成好的image hex文件:
在这里插入图片描述

图11
点击:All-in-One-Action 按钮,下载代码,下载结果如下:
在这里插入图片描述

图12
点击“Reset device” 按钮,退出工具连接。
修改开发板MIMXRT1170-EVK为internal boot mode, SW1:
1-OFF, 2-OFF, 3-ON,4-OFF
按下EVK板载的复位按钮,SW4,会发现按led已经在闪烁,说明MDK RAM工程已经成功下载到外部的QSPI flash中,并且能够成功boot。
代码链接:
https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/How-to-load-MDK-RAM-app-to-the-RT1170-external-flash/ta-p/1821196

  • 35
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值