1. 程式人生 > >痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU啟動那些事(6.1)- FlexSPI NOR連線方式大全(RT600)

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

----   大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是**恩智浦i.MX RT600的FlexSPI NOR啟動的連線方式**。   痞子衡前段時間一鼓作氣寫完了三篇關於i.MXRT1xxx系列FlexSPI NOR啟動連線的文章,算是把目前已供貨的i.MXRT1xxx型號全部都聊了一遍,但是恩智浦近期剛宣佈i.MXRT600正式供貨了,得了,活又來了,繼續寫吧。 > [《FlexSPI NOR啟動連線方式(RT1015/1020/1050)》](https://www.cnblogs.com/henjay724/p/12375942.html) > [《FlexSPI NOR啟動連線方式(RT1060/1064(SIP))》](https://www.cnblogs.com/henjay724/p/12390823.html) > [《FlexSPI NOR啟動連線方式(RT1010)》](https://www.cnblogs.com/henjay724/p/12400943.html)   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線實現方法),這也是本文要介紹的重點。 ### 一、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僅能跑在50MHz低速下(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啟動的連線方式痞子衡便介紹完畢了,掌聲在哪裡~~~ ### 歡迎訂閱 文章會同時釋出到我的 [部落格園主頁](https://www.cnblogs.com/henjay724/)、[CSDN主頁](https://blog.csdn.net/Henjay724)、[微信公眾號](http://weixin.sogou.com/weixin?type=1&query=痞子衡嵌入式) 平臺上。 微信搜尋"__痞子衡嵌入式__"或者掃描下面二維碼,就可以在手機上第一時間看了哦。 ![](http://henjay724.com/image/github/pzhMcu_qrcode_258x2