天天看點

痞子衡嵌入式:恩智浦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子產品IP本身支援兩種連接配接模式:Individual mode:多個Flash分時複用FlexSPI,同一時刻僅有一個Flash被操作;Parallel mode:同一時刻兩個Flash可以一起被操作,FlexSPI會自動合并/拆分資料(read/program)。但i.MXRT500上沒有Port B支援,是以實際上Individual mode是唯一選擇。

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

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

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

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

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

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

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

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

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

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

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

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

文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。

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

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

  最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。

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

  衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。

  專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/

  與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]

  可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。

  關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。

  痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。