大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是i.MXRT1xxx上第三級啟動保障 - SDMMC manufacture模式。 如果你在 i.MXRT1xxx 板卡上嘗試過從 SD/eMMC 卡啟動,你會發現一個奇怪的現象:如果把 SD/eMMC 卡還插著(並且裡面保留正常的 A ...
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是i.MXRT1xxx上第三級啟動保障 - SDMMC manufacture模式。
如果你在 i.MXRT1xxx 板卡上嘗試過從 SD/eMMC 卡啟動,你會發現一個奇怪的現象:如果把 SD/eMMC 卡還插著(並且裡面保留正常的 App 程式),明明 BOOT_MODE[1:0] 設置得是從串列 NOR Flash 啟動,但是在 Flash 中沒有可啟動 App 情況下,晶元沒有像往常那樣轉入串列下載模式,而是正常啟動了,並且啟動得是 SD/eMMC 里的程式,這是怎麼回事?今天痞子衡就跟大家介紹下導致這個現象背後的神秘力量 - SDMMC manufacture mode:
- Note:SDMMC manufacture 模式僅在 i.MXRT 四位數上被支持。
一、什麼是SDMMC manufacture模式?
我們知道 i.MXRT1xxx 系列支持得一級啟動設備有很多:串列NOR/NAND、並行NOR/NAND、SD/eMMC,當這些一級啟動設備中的 App 未能正常啟動時,為了保證系統仍能運行正常,其會自動進入備份啟動方案(預設沒開啟,需要主動燒 eFuse 開啟),即痞子衡舊文介紹過的 《從Serial(1-bit SPI) EEPROM/NOR恢復啟動》。
如果這個備份啟動方案仍然失敗了怎麼辦?那就需要進入今天的主角,第三級也是最後一級啟動方案 - SDMMC manufacture 方式啟動(預設開啟,可以燒 eFuse 關閉。對於 RT1050 系列,配置在 eFuse 0x470[3] - Disable SDMMC Manufacture mode),簡單說就是 i.MXRT 會最後一次嘗試從 SD/eMMC 中讀取 App 去啟動。需要註意的是這個 SDMMC manufacture 啟動方式和作為 《一級啟動設備 SD/eMMC 方式》 有如下區別:
- 一級啟動設備 SD/eMMC 可以有很多用戶配置(由 BT_CFG 引腳或者 eFuse 決定),但是 SDMMC manufacture 啟動與用戶配置完全無關,其固定從 uSDHC1 口以 1bit bus width,3.3V 模式去讀取啟動 App。
二、什麼情況下進SDMMC manufacture模式?
在 i.MXRT 晶元參考手冊 System Boot 章節可以找到如下流程圖,圖中介紹了兩種進 SDMMC manufacture 模式的方法。
第一種方法就是在 BOOT_MODE[1:0]=2'b10 (或者 BOOT_MODE[1:0]=2'b00 且 BT_FUSE_SEL=1'b1)時,主啟動設備以及備份啟動設備(假設已使能)均失敗的情況下自動進入,這種方法屬於被動式進入,當然這也是該模式的主要用意。
第二種方法就是在 BOOT_MODE[1:0]=2'b00 且 BT_FUSE_SEL=1'b0 時,主動進入 SDMMC manufacture 模式,這有點將該模式升級成一級啟動設備地位的感覺。
最後提一下,i.MXRT 上的 SDMMC manufacture 模式特性完全繼承自 i.MX 系列,我們知道 MPU 世界里使用 SD 卡場景非常多,因此使能這個功能很自然,在 i.MXRT 上如果應用里也有 SD 卡相關設計,那麼不妨也關註下這個特性,多一重保障。
至此,i.MXRT1xxx上第三級啟動保障 - SDMMC manufacture模式痞子衡便介紹完畢了,掌聲在哪裡~~~
歡迎訂閱
文章會同時發佈到我的 博客園主頁、CSDN主頁、知乎主頁、微信公眾號 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下麵二維碼,就可以在手機上第一時間看了哦。
最後歡迎關註痞子衡個人微信公眾號【痞子衡嵌入式】,一個專註嵌入式技術的公眾號,跟著痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職於某知名外企半導體公司MCU系統部門,擔任嵌入式系統應用工程師。
專欄內所有文章的轉載請註明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關註痞子衡的Github主頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關於專欄文章有任何疑問請直接在博客下麵留言,痞子衡會及時回覆免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。