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



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

  痞子衡前段時間一鼓作氣寫完了三篇關於i.MXRT1xxx系列FlexSPI NOR啟動連接的文章,算是把目前已供貨的i.MXRT1xxx型號全部都聊了一遍,但是恩智浦近期剛宣布i.MXRT600正式供貨了,得了,活又來了,繼續寫吧。

《FlexSPI NOR啟動連接方式(RT1015/1020/1050)》
《FlexSPI NOR啟動連接方式(RT1060/1064(SIP))》
《FlexSPI NOR啟動連接方式(RT1010)》

  i.MXRT600跟i.MXRT1xxx系列(Cortex-M7內核)不太一樣,其內核采用的是ARM Cortex-M33 + DSP,所以我們一般將i.MXRT600歸屬於i.MXRTxxx系列,它是i.MXRTxxx系列的老大哥。

  雖然i.MXRTxxx算是個新系列,但從系統角度來看其很多地方跟i.MXRT1xxx系列一樣,它也沒有內部非易失性存儲器,支持啟動的外部存儲器類型也很多,通過FlexSPI接口連接串行NOR Flash也是首選。

  i.MXRT600內部有一個雙通道8bit的FlexSPI模塊,這個模塊與i.MXRT1xxx里是幾乎一樣的(存在微小升級),但在Pinmux設計上與i.MXRT1xxx上差異較大(主要涉及SoC設計上的兩種8線實現方法),這也是本文要介紹的重點。

  • Note: 本文提及的芯片,在系統映射地址空間分配上,給 FlexSPI 分配的起始地址是 0x08000000,因此 XIP 應用程序需要從 0x08000000 之后的空間開始鏈接

一、FlexSPI連接模式

  老規矩,在講啟動連接之前,先簡單聊一下FlexSPI模塊的連接模式。從手冊里看,FlexSPI一共有兩種連接模式:

  • Individual mode:如下圖Flash A1+A2+B1+B2(四線/八線Flash均可),它們分時復用FlexSPI,同一時刻僅有一個Flash被操作(僅一個PORT有數據收發)。
  • Parallel mode:如下圖Flash A1+B1或Flash A2+B2(僅四線QSPI),同一時刻兩個Flash可以一起被操作(兩個PORT都有數據收發),FlexSPI會自動合並/拆分數據(read/program)到兩個PORT。

  因為i.MXRT600的FlexSPI PORTA和PORTB均是8bit數據線,均可獨立連八線Flash,因此RT1xxx上那種聯合PORTA 4bit數據線和PORTB 4bit數據線組Combination mode去連八線Flash那種方式在i.MXRT600上不適用

二、涉及FlexSPI引腳

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

  我們可以在i.MXRT600芯片參考手冊Non-Secure Boot ROM這一章節找到BootROM指定的FlexSPI NOR引腳,痞子衡整理如下:

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

  前兩種Flash連接方式就是利用FlexSPI PORTA或PORTB里的6根信號線連接四線QSPI Flash(划重點,PORTB可以單獨接四線QSPI啟動,這是RT1xxx所做不到的)。

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

  第四種Flash連接方式就是利用FlexSPI PORTB里的10根信號線連接八線Octal Flash(或Hyper Flash),這是i.MXRT600 EVK (Rev.E)里的連接方式,需要注意的是因為PORTB沒有CLK_N以及DQS信號,所以此時的八線Flash僅能跑在SDR 60MHz低速下(DQS信號配成internal loopback模式)

四、雙Flash連接方式(5種)

  i.MXRT600支持掛兩片Flash去啟動,此處僅以兩片四線QSPI Flash為例。下圖給出了多片Flash的連接方式,理論上一個FlexSPI最多可以掛四片Flash,因為最大有4個片選。但僅考慮接兩片Flash的話,一共Flash A0+A1、A0+B0、A0+B1、B0+A1、B0+B1五種正確連法。剩下的那個A1+B1組合因為沒有Code Flash,所以無法正常啟動。

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

歡迎訂閱

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

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


免責聲明!

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



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