如果你在i.MX RT1xxx板卡上嘗試過從SD/eMMC卡啟動,你會發(fā)現(xiàn)一個奇怪的現(xiàn)象:通常在BOOT_MODE[1:0]設(shè)置為從串行NOR Flash啟動,如果在Flash中沒有可啟動App情況下,芯片會自動轉(zhuǎn)入串行下載模式,但是如果此時SD/eMMC卡槽中插著存有可以正常運行的App程序,此時芯片是可以正常啟動的,并且啟動是 SD/eMMC里的程序,這是怎么回事?
今天就跟大家介紹下導致這個現(xiàn)象背后的神秘力量——SDMMC manufacture mode(出廠模式)。
注:只有i.MX RT四位數(shù)的產(chǎn)品支持SDMMC出廠模式。
回顧i.MX RT的啟動設(shè)備
所有i.MX RT系列均沒有內(nèi)部非易失性存儲器,需要配置一個外部存儲器存放啟動代碼,這個外部存儲器我們也稱作啟動設(shè)備。 i.MX RT 支持的啟動設(shè)備類型非常多,并且因為啟動設(shè)備受板級環(huán)境影響可能導致啟動代碼讀取異常,因此i.MX RT上設(shè)計了多級啟動保障,如下圖所示: 芯片上電之后,首先按照BOOT_MODE引腳的配置,執(zhí)行Primary Boot即第一級啟動流程;當?shù)谝患壛鞒虇邮『螅瑒t進入第二級Recovery Boot啟動流程;如果第二級啟動仍然失敗,則將進入Manufacture Boot啟動流程,嘗試從SD/eMMC啟動。 以下將具體談?wù)勥@個第三級的,出廠啟動模式。
何為SDMMC出廠模式
i.MX RT1xxx系列支持的一級啟動設(shè)備有很多:串行NOR/NAND、并行NOR/NAND、SD/eMMC,當這些一級啟動設(shè)備中的App未能正常啟動時,為了保證系統(tǒng)仍能運行正常,將會自動進入備份啟動方案(默認沒開啟,需要主動運行eFuse 開啟),我在之前介紹過一期《從Serial(1-bit SPI) EEPROM/NOR恢復(fù)啟動》。
如果這個備份啟動方案仍然失敗了怎么辦?那就需要進入今天的主角,第三級也是最后一級啟動方案-SDMMC manufacture方式啟動(默認開啟,可以啟動eFuse關(guān)閉。對于RT1050系列,配置在eFuse 0x470[3]-Disable SDMMC Manufacture mode),簡單說就是i.MX RT會做最后的努力:嘗試從SD/eMMC中啟動App。 需要注意的是這個SDMMC manufacture啟動方式和作為《一級啟動設(shè)備 SD/eMMC 方式》兩者區(qū)別如下: 一級啟動設(shè)備SD/eMMC可以有很多用戶配置(由BT_CFG引腳或者eFuse決定),但是SDMMC manufacture啟動與用戶配置完全無關(guān),其固定從uSDHC1口以1bit bus width,3.3V模式去讀取啟動 App。
何時進入SDMMC出廠模式
在i.MX RT芯片參考手冊System Boot章節(jié)可以找到如下流程圖,圖中介紹了兩種進 入SDMMC manufacture模式的途徑。 第一種途徑是在BOOT_MODE[1:0]=2'b10(或者BOOT_MODE[1:0]=2'b00且BT_FUSE_SEL=1'b1)時,主啟動設(shè)備以及備份啟動設(shè)備(假設(shè)已使能)均失敗的情況下自動進入,這種方法屬于被動式進入,當然這也是該模式的主要用意。 第二種途徑是在BOOT_MODE[1:0]=2'b00且BT_FUSE_SEL=1'b0時,主動進入 SDMMC manufacture模式,這有點將該模式升級成一級啟動設(shè)備地位的感覺。 ? 最后提一下,i.MX RT上的SDMMC manufacture模式特性完全繼承自i.MX系列,我們知道在MPU世界里使用SD卡場景非常多,因此使能這個功能很自然,在i.MX RT上如果應(yīng)用里也有SD卡相關(guān)設(shè)計,那么不妨也關(guān)注下這個特性,可以多一重保障。? ??
-
存儲器
+關(guān)注
關(guān)注
38文章
7644瀏覽量
167120 -
程序
+關(guān)注
關(guān)注
117文章
3826瀏覽量
82834 -
sdmmc
+關(guān)注
關(guān)注
0文章
4瀏覽量
2186
原文標題:一起聊聊i.MX RT1xxx上的神秘力量——SDMMC出廠模式
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
i.MX RT1xxx 系列的時鐘系統(tǒng)以及相關(guān)功能引腳
i.MX RT10xx系列外部晶振相關(guān)引腳的作用
i.MXRT1xxx Boot的Serial Downloader模式相關(guān)資料分享
介紹的是i.MX RT1xxx系列MCU的Parallel NOR啟動
介紹i.MX RT1xxx系列MCU的Raw NAND啟動
i.MX RT開發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP調(diào)試原理...

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(4)- Flashloader初體驗(blhost)...

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(9)- 從Parallel NOR啟動

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU啟動那些事(8)- 從Raw NAND啟動

i.MX RT超低功耗模式捉蟲記

利用i.MX RT1xxx系列ROM集成的DCD功能可輕松配置指定外設(shè)
i.MX RT1xxx從SD/eMMC啟動

Serial NAND i.MX RT1xxx啟動

評論