大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是i.MXRT1xxx上第三級(jí)啟動(dòng)保障 - SDMMC manufacture模式。
如果你在 i.MXRT1xxx 板卡上嘗試過從 SD/eMMC 卡啟動(dòng),你會(huì)發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象:如果把 SD/eMMC 卡還插著(并且里面保留正常的 App 程序),明明 BOOT_MODE[1:0] 設(shè)置得是從串行 NOR Flash 啟動(dòng),但是在 Flash 中沒有可啟動(dòng) App 情況下,芯片沒有像往常那樣轉(zhuǎn)入串行下載模式,而是正常啟動(dòng)了,并且啟動(dòng)得是 SD/eMMC 里的程序,這是怎么回事?今天痞子衡就跟大家介紹下導(dǎo)致這個(gè)現(xiàn)象背后的神秘力量 - SDMMC manufacture mode:
Note:SDMMC manufacture 模式僅在 i.MXRT 四位數(shù)上被支持。
一、回顧i.MXRT啟動(dòng)設(shè)備
i.MXRT 系列內(nèi)部均沒有非易失性存儲(chǔ)器,所以需要配置一個(gè)外部存儲(chǔ)器存放啟動(dòng)代碼,這個(gè)外部存儲(chǔ)器我們也叫做啟動(dòng)設(shè)備。i.MXRT 支持的啟動(dòng)設(shè)備類型非常多,并且因?yàn)閱?dòng)設(shè)備受板級(jí)環(huán)境影響可能導(dǎo)致啟動(dòng)代碼讀取異常,i.MXRT 上還設(shè)計(jì)了多級(jí)啟動(dòng)保障,如下圖所示:
二、什么是SDMMC manufacture模式?
我們知道 i.MXRT1xxx 系列支持得一級(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)沒開啟,需要主動(dòng)燒 eFuse 開啟),即痞子衡舊文介紹過的 《從Serial(1-bit SPI) EEPROM/NOR恢復(fù)啟動(dòng)》。
如果這個(gè)備份啟動(dòng)方案仍然失敗了怎么辦?那就需要進(jìn)入今天的主角,第三級(jí)也是最后一級(jí)啟動(dòng)方案 - SDMMC manufacture 方式啟動(dòng)(默認(rèn)開啟,可以燒 eFuse 關(guān)閉。對(duì)于 RT1050 系列,配置在 eFuse 0x470[3] - Disable SDMMC Manufacture mode),簡(jiǎn)單說就是 i.MXRT 會(huì)最后一次嘗試從 SD/eMMC 中讀取 App 去啟動(dòng)。需要注意的是這個(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)與用戶配置完全無關(guān),其固定從 uSDHC1 口以 1bit bus width,3.3V 模式去讀取啟動(dòng) App。
三、什么情況下進(jìn)SDMMC manufacture模式?
在 i.MXRT 芯片參考手冊(cè) System Boot 章節(jié)可以找到如下流程圖,圖中介紹了兩種進(jìn) SDMMC manufacture 模式的方法。
第一種方法就是在 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è)備地位的感覺。
最后提一下,i.MXRT 上的 SDMMC manufacture 模式特性完全繼承自 i.MX 系列,我們知道 MPU 世界里使用 SD 卡場(chǎng)景非常多,因此使能這個(gè)功能很自然,在 i.MXRT 上如果應(yīng)用里也有 SD 卡相關(guān)設(shè)計(jì),那么不妨也關(guān)注下這個(gè)特性,多一重保障。
至此,i.MXRT1xxx上第三級(jí)啟動(dòng)保障 - SDMMC manufacture模式痞子衡便介紹完畢了,掌聲在哪里~~~
審核編輯 :李倩
-
芯片
+關(guān)注
關(guān)注
459文章
51927瀏覽量
433683 -
串行
+關(guān)注
關(guān)注
0文章
237瀏覽量
34241 -
板卡
+關(guān)注
關(guān)注
3文章
129瀏覽量
17081
原文標(biāo)題:真的打滿了!試問誰家MCU能有三重啟動(dòng)保障?
文章出處:【微信號(hào):pzh_mcu,微信公眾號(hào):痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
STM32F407三重ADC采樣設(shè)置死機(jī)怎么解決?
為 Windows XP 建立多重啟動(dòng)
ML605支持多重啟動(dòng)嗎?
如何利用Platform Flash PROM實(shí)現(xiàn)多重啟動(dòng)功能?
嵌入式MCU中標(biāo)準(zhǔn)的三重中斷控制設(shè)計(jì)資料大合集
怎么實(shí)現(xiàn)嵌入式MCU中標(biāo)準(zhǔn)的三重中斷控制設(shè)計(jì)?
如何雙啟動(dòng)64位iOS設(shè)備
如何使用ICAP在Spartan-3AN FPGA內(nèi)運(yùn)行多重啟動(dòng)應(yīng)用
使用ICAP在SPI模式下執(zhí)行Spartan-3AN多重啟動(dòng)

雷曼光電榮獲“全國(guó)質(zhì)量信譽(yù)保障產(chǎn)品”等三重權(quán)威認(rèn)證
具有三重互鎖保護(hù)的正反轉(zhuǎn)啟動(dòng)線路

評(píng)論