痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU啟動那些事(6.B)- FlexSPI NOR連接方式大全(RT500)



  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT500的FlexSPI NOR啟動的連接方式

  這個i.MXRT FlexSPI NOR啟動連接方式系列文章,痞子衡在一年前寫過四篇,把當時已面世的所有i.MXRT型號(RT600/1010/1015/1020/1050/1060/1064)都囊括了。最近這一年里,i.MXRT系列又新增了兩個型號,分別是屬於i.MXRTxxx陣營的二號選手i.MXRT500、屬於i.MXRT1xxx陣營的第一代戰神i.MXRT1170,所以痞子衡要繼續更文了。

  痞子衡今天要介紹的是i.MXRT500的FlexSPI NOR啟動連接方式,在閱讀本文前最好把 《FlexSPI NOR啟動連接方式(RT600)》 先看完,對i.MXRTxxx系列有一個基本認識。我們知道i.MXRT500是基於ARM Cortex-M33內核的超低功耗MCU,主要面向智能可穿戴市場。與i.MXRT600一樣沒有內部非易失性存儲器,通過FlexSPI接口連接串行NOR Flash是啟動設備首選。

  i.MXRT500內部有兩個雙通道8bit的FlexSPI模塊,比i.MXRT600單FlexSPI模塊有所增強,但是這兩個FlexSPI模塊在芯片I/O上都沒有引出Port B,只能使用一個Port(即Port A),因此在啟動連接方式上反而更簡單了。此外FlexSPI0設計上主要用於連接Flash(僅它在芯片內部連上了OTFAD,可實現在線解密),而FlexSPI1設計上是用於連接HyperRAM/PSRAM去拓展圖形顯示Buffer空間的。好,閑話少敘,咱們進入正文:

  • Note1 : i.MXRT500 可啟動 NOR Flash 僅能掛載在 FlexSPI0 上,在系統映射地址空間分配上,給 FlexSPI0 分配的起始地址是 0x08000000,因此 XIP 應用程序需要從 0x08000000 之后的空間開始鏈接

一、FlexSPI連接模式

  FlexSPI模塊IP本身支持兩種連接模式:Individual mode:多個Flash分時復用FlexSPI,同一時刻僅有一個Flash被操作;Parallel mode:同一時刻兩個Flash可以一起被操作,FlexSPI會自動合並/拆分數據(read/program)。但i.MXRT500上沒有Port B支持,所以實際上Individual mode是唯一選擇。

二、涉及FlexSPI引腳

  i.MXRT500一共提供了兩種封裝(WLCSP141、FOWLP249),並且根據是否選配DSP和GPU,一共有9個型號。下文要介紹的FlexSPI NOR啟動連接方式並不一定適用所有封裝(主要是WLCSP141連接方式較少)。

  我們可以在i.MXRT500芯片參考手冊Non-Secure Boot ROM這一章節找到BootROM指定的FlexSPI NOR引腳如下,是的,僅FlexSPI0引腳被用於Flash啟動設備連接:

三、單Flash連接方式(2種)

  第一種Flash連接方式就是利用FlexSPI0 Port里的6根信號線連接四線QSPI Flash:

  第二種Flash連接方式就是利用FlexSPI0 Port里的全部12根信號線連接八線Octal Flash(換成Hyper Flash也行)。

四、Flash+PSRAM連接方式

  i.MXRT500-EVK給出了Flash+PSRAM連接示例,即FlexSPI0連接四線/八線Flash、FlexSPI1連接PSRAM,這也正好符合芯片設計初衷。當然FlexSPI0也可以去連接PSRAM,因為i.MXRT500可以從uSDHC接口去啟動(代碼存在SD/eMMC里)。

附錄、FOWLP249封裝下FlexSPI相關的引腳定義

  至此,恩智浦i.MX RT500的FlexSPI NOR啟動的連接方式痞子衡便介紹完畢了,掌聲在哪里~~~

歡迎訂閱

文章會同時發布到我的 博客園主頁CSDN主頁知乎主頁微信公眾號 平台上。

微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM