设计将使用FlexSPI1 接外部的HyperRAM,FlexSPI2 接QSPI Flash存储器芯片作为RT1176引导设备。当代码在内部RAM里面执行的时候是正常的,遇到了从外部Flash启动的问题,如果用FlexSPI2作为引导接口,应该如何配置呢?
-> MCUBoot 工具(https://github.com/JayHeng/NXP-MCUBootUtility)可以识别 FlexSPI2 区域,需要设置'FlexSPI XIP Region' 选项为 1,默认情况下,"Tools/FlexSPI XIP Region"是0。
XIP 区域0 - 0x3000_0000 代表FlexSPI1
XIP 区域1 - 0x6000_0000 代表 FlexSPI2
每个 FlexSPI 都包含两组 pinmux group 选项,都可以用于引导启动。设置MCUBootUtility / Tools / FlexSPI XIP 区域为 1, 将会加载 APP应用程序到 FlexSPI2 区域。
在开发板上验证 RT1170的 FlexSPI2的启动,它是第一组 pinmux。
如果连接 Flash 到 GPIO_SD_B1[05:00],如下所示,需要在MCUBootUtility 工具中设置为 2nd pinmux,烧入如下熔丝位。
eFuse 0x940 FLEXSPI_INSTANCE =1(Fuse和GPIO电平判断)
eFuse 0x9A0 FLEXSPI_PIN_GROUP_SEL =1(熔丝位)
eFuse 0x9A0 FLEXSPI_CONNECTION_SEL =0
设置正确的应用程序基地址,对于FlexSPI2,应为0x6000 2000。注意:可引导映像从0x6000 0000开始,其内容介于0x6000 0000和0x6000 2000之间,将自动创建。
需要注意:所选的FlexSPI2组的速度有限。
另外,如果要通过Flexspi1的第二组引脚启动,需要配置Fuse如下。FlexSPI1 的 2nd DQS在BootROM实际上不需要。
审核编辑:汤梓红
-
FlaSh
+关注
关注
10文章
1647浏览量
149062 -
存储器
+关注
关注
38文章
7541浏览量
164632 -
接口
+关注
关注
33文章
8756浏览量
152211
发布评论请先 登录
相关推荐
i.MXRT1170 的时钟架构
i.MXRT1170的相关资料分享
i.MXRT1170 eFuse空间访问可靠性的保护策略是什么
NOR闪存连接到i.MX RT1062上的FlexSPI2数据偏移了怎么处理?
s32k144evb如何与i.MXRT通信?
如何确保 i.MXRT1176 从低功耗模式快速恢复?
FlexSPI和FlexSPI2外设都可以使用BEE吗?
i.MXRT117x - FlexSPI1和FlexSPI2能否以133MHz的全时钟速度运行?
i.MXRT1170上串行NOR Flash双程序可交替启动设计
I.MXRT1170从FLEXSPI2启动
深入i.MXRT1050系列ROM中串行NOR Flash启动初始化流程

评论