設(shè)計(jì)將使用FlexSPI1 接外部的HyperRAM,F(xiàn)lexSPI2 接QSPI Flash存儲(chǔ)器芯片作為RT1176引導(dǎo)設(shè)備。當(dāng)代碼在內(nèi)部RAM里面執(zhí)行的時(shí)候是正常的,遇到了從外部Flash啟動(dòng)的問題,如果用FlexSPI2作為引導(dǎo)接口,應(yīng)該如何配置呢?
-> MCUBoot 工具(https://github.com/JayHeng/NXP-MCUBootUtility)可以識(shí)別 FlexSPI2 區(qū)域,需要設(shè)置'FlexSPI XIP Region' 選項(xiàng)為 1,默認(rèn)情況下,"Tools/FlexSPI XIP Region"是0。
XIP 區(qū)域0 - 0x3000_0000 代表FlexSPI1
XIP 區(qū)域1 - 0x6000_0000 代表 FlexSPI2
每個(gè) FlexSPI 都包含兩組 pinmux group 選項(xiàng),都可以用于引導(dǎo)啟動(dòng)。設(shè)置MCUBootUtility / Tools / FlexSPI XIP 區(qū)域?yàn)?1, 將會(huì)加載 APP應(yīng)用程序到 FlexSPI2 區(qū)域。
在開發(fā)板上驗(yàn)證 RT1170的 FlexSPI2的啟動(dòng),它是第一組 pinmux。
如果連接 Flash 到 GPIO_SD_B1[05:00],如下所示,需要在MCUBootUtility 工具中設(shè)置為 2nd pinmux,燒入如下熔絲位。
eFuse 0x940 FLEXSPI_INSTANCE =1(Fuse和GPIO電平判斷)
eFuse 0x9A0 FLEXSPI_PIN_GROUP_SEL =1(熔絲位)
eFuse 0x9A0 FLEXSPI_CONNECTION_SEL =0
設(shè)置正確的應(yīng)用程序基地址,對(duì)于FlexSPI2,應(yīng)為0x6000 2000。注意:可引導(dǎo)映像從0x6000 0000開始,其內(nèi)容介于0x6000 0000和0x6000 2000之間,將自動(dòng)創(chuàng)建。
需要注意:所選的FlexSPI2組的速度有限。
另外,如果要通過Flexspi1的第二組引腳啟動(dòng),需要配置Fuse如下。FlexSPI1 的 2nd DQS在BootROM實(shí)際上不需要。
審核編輯:湯梓紅
-
FlaSh
+關(guān)注
關(guān)注
10文章
1661瀏覽量
150942 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7629瀏覽量
166320 -
接口
+關(guān)注
關(guān)注
33文章
8924瀏覽量
153153
發(fā)布評(píng)論請(qǐng)先 登錄
i.MXRT1170 的時(shí)鐘架構(gòu)
介紹一下i.MXRT1170上用于保護(hù)片內(nèi)OCRAM1,2的MECC64功能

i.MXRT1170的相關(guān)資料分享
i.MXRT1170 eFuse空間訪問可靠性的保護(hù)策略是什么
FlexSPI復(fù)位方式不當(dāng)會(huì)導(dǎo)致i.MXRT系列下OTFAD加密啟動(dòng)失敗怎么解決?
NOR閃存連接到i.MX RT1062上的FlexSPI2數(shù)據(jù)偏移了怎么處理?
s32k144evb如何與i.MXRT通信?
如何確保 i.MXRT1176 從低功耗模式快速恢復(fù)?
FlexSPI和FlexSPI2外設(shè)都可以使用BEE嗎?
i.MXRT117x - FlexSPI1和FlexSPI2能否以133MHz的全時(shí)鐘速度運(yùn)行?
i.MXRT1170上串行NOR Flash雙程序可交替啟動(dòng)設(shè)計(jì)
I.MXRT1170從FLEXSPI2啟動(dòng)
深入i.MXRT1050系列ROM中串行NOR Flash啟動(dòng)初始化流程

缺失DQS信號(hào)的FlexSPI連接Flash有何不同?

不同J-Link版本對(duì)于i.MXRT1170連接復(fù)位后處理行為

評(píng)論