0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

i.MX RT1xxx上SDMMC出廠模式

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 2023-05-18 09:25 ? 次閱讀

如果你在i.MX RT1xxx板卡上嘗試過(guò)從SD/eMMC卡啟動(dòng),你會(huì)發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象:通常在BOOT_MODE[1:0]設(shè)置為從串行NOR Flash啟動(dòng),如果在Flash中沒(méi)有可啟動(dòng)App情況下,芯片會(huì)自動(dòng)轉(zhuǎn)入串行下載模式,但是如果此時(shí)SD/eMMC卡槽中插著存有可以正常運(yùn)行的App程序,此時(shí)芯片是可以正常啟動(dòng)的,并且啟動(dòng)是 SD/eMMC里的程序,這是怎么回事?

今天就跟大家介紹下導(dǎo)致這個(gè)現(xiàn)象背后的神秘力量——SDMMC manufacture mode(出廠模式)。

注:只有i.MX RT四位數(shù)的產(chǎn)品支持SDMMC出廠模式。

回顧i.MX RT的啟動(dòng)設(shè)備

所有i.MX RT系列均沒(méi)有內(nèi)部非易失性存儲(chǔ)器,需要配置一個(gè)外部存儲(chǔ)器存放啟動(dòng)代碼,這個(gè)外部存儲(chǔ)器我們也稱(chēng)作啟動(dòng)設(shè)備。 i.MX RT 支持的啟動(dòng)設(shè)備類(lèi)型非常多,并且因?yàn)閱?dòng)設(shè)備受板級(jí)環(huán)境影響可能導(dǎo)致啟動(dòng)代碼讀取異常,因此i.MX RT上設(shè)計(jì)了多級(jí)啟動(dòng)保障,如下圖所示: 16ac28a2-f51a-11ed-90ce-dac502259ad0.png 芯片上電之后,首先按照BOOT_MODE引腳的配置,執(zhí)行Primary Boot即第一級(jí)啟動(dòng)流程;當(dāng)?shù)谝患?jí)流程啟動(dòng)失敗后,則進(jìn)入第二級(jí)Recovery Boot啟動(dòng)流程;如果第二級(jí)啟動(dòng)仍然失敗,則將進(jìn)入Manufacture Boot啟動(dòng)流程,嘗試從SD/eMMC啟動(dòng)。 以下將具體談?wù)勥@個(gè)第三級(jí)的,出廠啟動(dòng)模式。

何為SDMMC出廠模式

i.MX RT1xxx系列支持的一級(jí)啟動(dòng)設(shè)備有很多:串行NOR/NAND、并行NOR/NAND、SD/eMMC,當(dāng)這些一級(jí)啟動(dòng)設(shè)備中的App未能正常啟動(dòng)時(shí),為了保證系統(tǒng)仍能運(yùn)行正常,將會(huì)自動(dòng)進(jìn)入備份啟動(dòng)方案(默認(rèn)沒(méi)開(kāi)啟,需要主動(dòng)運(yùn)行eFuse 開(kāi)啟),我在之前介紹過(guò)一期《從Serial(1-bit SPI) EEPROM/NOR恢復(fù)啟動(dòng)》。

如果這個(gè)備份啟動(dòng)方案仍然失敗了怎么辦?那就需要進(jìn)入今天的主角,第三級(jí)也是最后一級(jí)啟動(dòng)方案-SDMMC manufacture方式啟動(dòng)(默認(rèn)開(kāi)啟,可以啟動(dòng)eFuse關(guān)閉。對(duì)于RT1050系列,配置在eFuse 0x470[3]-Disable SDMMC Manufacture mode),簡(jiǎn)單說(shuō)就是i.MX RT會(huì)做最后的努力:嘗試從SD/eMMC中啟動(dòng)App。 需要注意的是這個(gè)SDMMC manufacture啟動(dòng)方式和作為《一級(jí)啟動(dòng)設(shè)備 SD/eMMC 方式》兩者區(qū)別如下: 一級(jí)啟動(dòng)設(shè)備SD/eMMC可以有很多用戶配置(由BT_CFG引腳或者eFuse決定),但是SDMMC manufacture啟動(dòng)與用戶配置完全無(wú)關(guān),其固定從uSDHC1口以1bit bus width,3.3V模式去讀取啟動(dòng) App。

何時(shí)進(jìn)入SDMMC出廠模式

在i.MX RT芯片參考手冊(cè)System Boot章節(jié)可以找到如下流程圖,圖中介紹了兩種進(jìn) 入SDMMC manufacture模式的途徑。 16d00ad8-f51a-11ed-90ce-dac502259ad0.png 第一種途徑是在BOOT_MODE[1:0]=2'b10(或者BOOT_MODE[1:0]=2'b00且BT_FUSE_SEL=1'b1)時(shí),主啟動(dòng)設(shè)備以及備份啟動(dòng)設(shè)備(假設(shè)已使能)均失敗的情況下自動(dòng)進(jìn)入,這種方法屬于被動(dòng)式進(jìn)入,當(dāng)然這也是該模式的主要用意。 第二種途徑是在BOOT_MODE[1:0]=2'b00且BT_FUSE_SEL=1'b0時(shí),主動(dòng)進(jìn)入 SDMMC manufacture模式,這有點(diǎn)將該模式升級(jí)成一級(jí)啟動(dòng)設(shè)備地位的感覺(jué)。 ? 最后提一下,i.MX RT上的SDMMC manufacture模式特性完全繼承自i.MX系列,我們知道在MPU世界里使用SD卡場(chǎng)景非常多,因此使能這個(gè)功能很自然,在i.MX RT上如果應(yīng)用里也有SD卡相關(guān)設(shè)計(jì),那么不妨也關(guān)注下這個(gè)特性,可以多一重保障。? ??

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7377

    瀏覽量

    163151
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3726

    瀏覽量

    80412
  • sdmmc
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    2012

原文標(biāo)題:一起聊聊i.MX RT1xxx上的神秘力量——SDMMC出廠模式

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    i.MX RT1xxx 系列的時(shí)鐘系統(tǒng)以及相關(guān)功能引腳

    目前 i.MXRT1xxx 系列主要分為 i.MX RT10xx 和 i.MXRT11xx 兩大分支。這兩個(gè)分支的時(shí)鐘系統(tǒng)設(shè)計(jì)是有一些差異的,不過(guò)總體來(lái)說(shuō),架構(gòu)差別不大,我們以如下
    發(fā)表于 07-08 17:01 ?714次閱讀

    i.MX RT10xx系列外部晶振相關(guān)引腳的作用

    之前寫(xiě)過(guò)一篇關(guān)于時(shí)鐘引腳的文章 《i.MX RT1xxx系列MCU時(shí)鐘相關(guān)功能引腳的作用》,里面簡(jiǎn)單提及了外部晶振相關(guān)引腳的作用,但是并沒(méi)有詳細(xì)展開(kāi)。
    的頭像 發(fā)表于 10-13 09:08 ?1327次閱讀

    i.MXRT1xxx Boot的Serial Downloader模式相關(guān)資料分享

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Flashloader?! ≡谏弦黄恼?Serial Downloader模式
    發(fā)表于 01-26 08:12

    介紹的是i.MX RT1xxx系列MCU的Parallel NOR啟動(dòng)

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Parallel NOR啟動(dòng)?! ?b class='flag-5'>上一篇講i.MXRT1xxx從Raw NA
    發(fā)表于 02-22 06:31

    介紹i.MX RT1xxx系列MCU的Raw NAND啟動(dòng)

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動(dòng)。  前面鋪墊了七篇啟動(dòng)系列文章,終于該講具體Boot Device了
    發(fā)表于 02-22 07:20

    i.MX RT開(kāi)發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測(cè))

    系列文章目錄i.MX RT開(kāi)發(fā)筆記-01 | 初識(shí) i.MX RT1062 跨界MCUi.MX RT
    發(fā)表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開(kāi)發(fā)筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量控制器NVIC(按鍵中斷檢測(cè))

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

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列EVK在串行NOR Flash調(diào)試的原理?! ”疚氖?b class='flag-5'>i.MXRT硬件那些事系列第二篇的續(xù)集,在
    發(fā)表于 12-01 20:51 ?0次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP調(diào)試原理...

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

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Flashloader?! ≡谏弦黄恼?Serial Downloader模式
    發(fā)表于 12-02 09:36 ?7次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU啟動(dòng)那些事(4)- Flashloader初體驗(yàn)(blhost)...

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

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Parallel NOR啟動(dòng)?! ?b class='flag-5'>上一篇講i.MXRT1xxx從Raw NA
    發(fā)表于 12-28 19:19 ?8次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU啟動(dòng)那些事(9)- 從Parallel NOR啟動(dòng)

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

      大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1xxx系列MCU的Raw NAND啟動(dòng)?! ∏懊驿亯|了七篇啟動(dòng)系列文章,終于該講具體Boot Device了
    發(fā)表于 12-28 19:19 ?10次下載
    痞子衡嵌入式:恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>系列MCU啟動(dòng)那些事(8)- 從Raw NAND啟動(dòng)

    i.MX RT超低功耗模式捉蟲(chóng)記

    SNVS模式i.MX RT10XX和i.MX RT11XX系列MCU中功耗最低的狀態(tài),其標(biāo)志性特點(diǎn)是除SNVS電源域保持供電,其余的電源域
    發(fā)表于 02-08 15:14 ?0次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>超低功耗<b class='flag-5'>模式</b>捉蟲(chóng)記

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

    關(guān)于i.MX RT1xxx系列芯片BootROM中集成的DCD功能這個(gè)話題,早就想寫(xiě)了,但是一直沒(méi)有動(dòng)筆,畢竟這個(gè)話題比較生澀,單獨(dú)講會(huì)比較枯燥。最近在支持一個(gè)i.MX RT1170客
    的頭像 發(fā)表于 04-20 15:54 ?1174次閱讀

    i.MX RT1xxx從SD/eMMC啟動(dòng)

    最近在恩智浦官方社區(qū)支持了一個(gè)關(guān)于i.MX RT從SD卡啟動(dòng)的案例,這讓我想起了一年前寫(xiě)過(guò)的一篇《i.MX RT600從SD/eMMC啟動(dòng)
    的頭像 發(fā)表于 05-11 14:34 ?1157次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>從SD/eMMC啟動(dòng)

    Serial NAND i.MX RT1xxx啟動(dòng)

    很多關(guān)于? i.MXRT1xxx?Serial NAND 啟動(dòng)的 咨詢 問(wèn)題,這個(gè)啟動(dòng)設(shè)備突然火熱起來(lái)了~ 借此機(jī)會(huì),今天跟大家介紹一下 Serial NAND 制作、下載、啟動(dòng)程序的方法
    的頭像 發(fā)表于 08-17 08:50 ?565次閱讀
    Serial NAND <b class='flag-5'>i.MX</b> <b class='flag-5'>RT1xxx</b>啟動(dòng)

    i.MX RT的FlexRAM配置問(wèn)題

    i.MX RT的FlexRAM配置問(wèn)題
    的頭像 發(fā)表于 10-24 15:46 ?635次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>的FlexRAM配置問(wèn)題