i.MXRT1060是在i.MXRT1050之後釋出的,相比i.MXRT1050在FlexSPI NOR啟動初始化上有了一些優化點,今天痞子衡就跟大家聊一聊這些優化點(或者說差異的地方)
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是i.MXRT1060系列ROM中串行NOR Flash啟動初始化流程優化點。
前段時間痞子衡寫了一篇 《深入i.MXRT1050系列ROM中串行NOR Flash啟動初始化流程》,那篇文章如果你認真讀,你會發現為了能讓i.MXRT系列盡可能地支援來自不同廠商的不同串行NOR Flash型号,而且還得發揮Flash最好性能,BootROM可謂煞費苦心,做了很多精心設計。
i.MXRT1060是在i.MXRT1050之後釋出的,相比i.MXRT1050在FlexSPI NOR啟動初始化上有了一些優化點,今天痞子衡就跟大家聊一聊這些優化點(或者說差異的地方):
備注:本文主角是i.MXRT1060,但内容也基本适用i.MXRT1170,僅細節微小差别。
跟上一篇文章一樣,痞子衡重畫了i.MXRT1060的FlexSPI NOR啟動流程圖,從流程上來看,其和i.MXRT1050有兩處主要差異,第一個是步驟0(備援App啟動支援)和步驟X(Auto Probe),除此以外,還有一些微小差異(JEDEC硬體複位,延時等待政策等)。

本文不會介紹步驟X(Auto Probe特性),主要是說一下其他差異,步驟X是個特别重要的改進,痞子衡會另起一文單獨介紹。
第一個要提的便是新增的備援App啟動支援,即步驟0,痞子衡之前寫過一篇文章 《利用i.MXRT1060,1010上新增的FlexSPI位址重映射(Remap)功能可安全OTA》,這篇文章的第二節講了i.MXRT1060上多了一個Remap功能,這個功能使得Flash裡可以存放多份相同連結位址的XIP App(偏移0x0處固定放App1;偏移0x100000處(這個位址使用者自定義)放了App2),借助Remap功能可以将Flash裡App2在記憶體映射位址上直接覆寫到App1處,不需要實體上的實際搬移。
BootROM中支援備援App啟動,并不是常見的OTA用意,而是防App誤損壞導緻裝置無法啟動,是以App1固定在偏移0x0位址,App2永遠是覆寫App1,這意味着App2必須跟App1一樣都是包含FDCB, IVT, BootData等完整啟動頭的App。BootROM上電永遠先嘗試啟動App1,如App1無法啟動,則嘗試啟動App2。我們知道,多份App都損壞是小機率事件。
備注1:這個功能在i.MXRT1010上同樣存在,畢竟i.MXRT1010支援Remap。 備注2:這個功能雖存在于i.MXRT1170上,但步驟移到了FlexSPI第二次初始化之後。
在i.MXRT1050 FlexSPI NOR啟動初始化步驟4裡的善後工作裡,有一個借助調用microseconds_delay()做延時以使FlexSPI外設以及Flash完全準備好的操作,這個操作在i.MXRT1060上被從步驟4移到了步驟1前後,即複位Flash前做一次,複位Flash後再做一次。
備注1: 複位Flash前的那一次延時操作,實際hold time要減去3ms(如hold time設定小于3ms,則隻減3ms),因為複位Flash前屬于系統上電啟動,ROM本身執行到開始通路Flash就需要時間,是以Flash差不多有近3ms的上電等待時間了。 備注2: hold time在fuse中的位置從i.MXRT1050上的0x450[3:2]被移到了i.MXRT1060上的0x6e0[5:4]。
i.MXRT1060在複位Flash上多了一個JEDEC标準的硬體複位選項,也包含在步驟1裡面,這個複位僅針對Adesto ATXP系列為代表的Flash有效,需要Flash本身支援JEDEC制定的硬體複位功能。
至此,i.MXRT1060系列ROM中串行NOR Flash啟動初始化流程優化點痞子衡便介紹完畢了,掌聲在哪裡~~~
文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。
微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。
最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。
專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。