i.MX RT 系列绕不开的一个话题就是外部 Flash 启动,官方 EVK 默认使用的是 8 线 SPI Flash,实际项目中有很多客户会使用 4 线 QSPI 的 Flash 进行启动。这里记录一下最近使用 i.MX RT600 从 QSPI Flash 启动的问题,包括更换下载算法、更换 Flash 等问题。
提前安装 Segger JLink & MCUXpresso IDE
当前测试软件版本
Segger JLink 版本 :7.54a
MCUXpresso 版本:11.8.0
Flash 型号:W25Q16JWSIQ
一 、 更换 JLINK 下载算法
(1)下载 RT-UFL v1.0 ,下载链接如下:
https://github.com/JayHeng/RT-UFL/releases/tag/v1.0
RT-UFL 是 NXP 原厂工程师痞子衡开发的一套针对 i. MX RT系列的万能下载算法,测试过市面上常用的 Flash 型号,8线 、 4 线的都有,目前发布的是 v1.0 版本,后续会出新版本,可持续关注。
(2)解压下载后的 RT-UFL-1.0.zip 压缩包,将路径下的 “iMXRT_UFL” 文件夹复制到 Segger JLink 安装目录下的 “NXP” 文件夹下:
iMXRT_UFL 文件夹路径:RT-UFL-1.0\algo\SEGGER\JLink_Vxxx\Devices\NXP
NXP文件夹路径:C:\Program Files\SEGGER\JLink\Devices\NXP
注:Segger Jlink 安装目录以用户安装的路径为准,默认安装在 C 盘
(3)将 “ievkmimxrt685.JLinkScript” 文件复制到 Segger JLink 安装目录下的 “iMXRT_UFL” 文件夹下:
ievkmimxrt685.JLinkScript 文件路径:
RT-UFL-1.0\test\SEGGER\JLink_Vxxx\Devices\NXP\iMXRT6xx\archive2
iMXRT_UFL文件夹路径:C:\Program Files\SEGGER\JLink\Devices\NXP
(4)打开 Segger JLink 安装目录下的 “JLinkDevices.xml” 文件,在里面添加如下信息:
到此,下载算法更换完成。
二 、更换 Flash 与工程文件
(1)在 MCUXpresso 下导入任意工程,这里以 evkmimxrt685_gpio_led_output 例程为例,打开后将 Flash_config 下的文件更换为 QSPI 的 Flash_config 文件:
(2)在 MCUXpresso 下指定使用的 Segger Jlink 版本(如果 Segger Jlink 安装在默认路径,这一步可忽略):
打开首选项:
选择安装路径下的“ JLinkGDBServerCL.exe” 文件,再点击“应用并关闭”:
(3)在板子上接上 Flash,从 FlexsPortA 启动
将下图中绿色框中的电阻拆掉
将 Flash 通过飞线与上图中电阻焊盘相应的连接起来(注意:电阻焊盘是与 RT600 相连的那端焊盘)
连接后的效果如下:
飞线会影响通信,所以不能使用太快的速率对 Flash 进行操作,这里 Flexspi 速率保持在 50MHz 以下。
(4)将 Jlink 调试器与板子相连接(SWD 的引脚务必一一对应),断开 JP17 JP18 JP19 跳线帽,断开与板载调试芯片的连接,否则会影响 JLINK 调试,硬件连接:
(5)增加 Jlink 调试选项:
点击调试即可进入调试界面
退出调试界面,断电,再重新上电,代码也在运行。
参考资料:
评论