痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式

痞子,嵌入式,聊聊,mxrt1xxx,第三级,启动,保障,sdmmc,manufacture,模式 · 浏览次数 : 161

小编点评

**i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式** **SDMMC manufacture 模式** SDMMC manufacture 模式是一种在 SD/eMMC 卡启动之前由 i.MXRT 芯片自动执行的启动方式。该模式在 SDMMC 卡中读取启动 App,并将启动过程交给串行 NOR Flash。 ** SDMMC manufacture 模式的特点** * SDMMC manufacture 模式仅在 i.MXRT 四位数上支持。 * 该模式与作为《一级启动设备 SD/eMMC 方式》的 SDMMC manufacture 模式不同。 **进 SDMMC manufacture模式的条件** * BOOT_MODE[1:0]=2'b10 或 2'b00 且 BT_FUSE_SEL=1'b1。 **进 SDMMC manufacture模式的两种方法** * 第一种方法:主启动设备和备份启动设备都失败的情况下自动进入 SDMMC manufacture 模式。 * 第二种方法:主动进入 SDMMC manufacture 模式。 **结论** i.MXRT1xxx 上的 SDMMC manufacture 模式是一种多级启动保障机制,在 SDMMC 卡中读取启动 App 以确保系统能够正常启动。

正文


  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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 四位数上被支持。

一、回顾i.MXRT启动设备

  i.MXRT 系列内部均没有非易失性存储器,所以需要配置一个外部存储器存放启动代码,这个外部存储器我们也叫做启动设备。i.MXRT 支持的启动设备类型非常多,并且因为启动设备受板级环境影响可能导致启动代码读取异常,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主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

与痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式相似的内容:

痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式。 如果你在 i.MXRT1xxx 板卡上尝试过从 SD/eMMC 卡启动,你会发现一个奇怪的现象:如果把 SD/eMMC 卡还插着(并且里面保留正常的 A

痞子衡嵌入式:MCUBootUtility v5.0发布,初步支持i.MXRT1180

-- 痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v4.0.0)发布过去4个多月了,期间痞子衡也做过两个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新大版本v5.0.0,这次更新主要是想和大家特别聊聊恩智浦新一代 i.MXRT 旗舰 RT1180。 ### 一、

痞子衡嵌入式:我被邀请做贸泽电子&与非网联合推出的《对话工程师》节目嘉宾

《对话工程师》是「贸泽电子」赞助、「与非网」策划制作的一档网络节目,自2022年11月起,邀请不同技术领域的资深工程师,聊聊开发过程中的经验感悟,栏目共 10 期,痞子衡有幸被邀请做了第 4 期节目的嘉宾(12月5日在 「B站 - 与非网官方账号」里刚播出第 1 期)。 说起与《对话工程师》节目的结

痞子衡嵌入式:MCUBootUtility v5.3发布,利用XMCD轻松使能外部RAM

-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.0.0)发布过去4个多月了,期间痞子衡也做过三个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v5.3.x,这次更新主要是想和大家特别聊聊 XMCD 这个特性的支持。 一、v5.1 - v5.3

《痞子衡嵌入式半月刊》 第 103 期

痞子衡嵌入式半月刊: 第 103 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 102 期

痞子衡嵌入式半月刊: 第 102 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

痞子衡嵌入式:i.MXRT1xxx系列MCU外接24MHz有源晶振的方式与注意事项

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1xxx系列MCU外接24MHz有源晶振。 今天有客户咨询痞子衡:官方 i.MXRT1xxx 开发板都是外接 24MHz 无源晶振给主芯片 XTALI,XTALO 引脚,那么是否可以使用 24MHz 有源晶振呢?答案当然是可

痞子衡嵌入式:不同J-Link版本对于i.MXRT1170连接复位后处理行为有所不同

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是不同J-Link版本对于i.MXRT1170连接复位后处理行为。 痞子衡之前写过一篇旧文 《i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因》,这篇文章详细解释了 RT1170 BootROM 代码里软件

《痞子衡嵌入式半月刊》 第 101 期

痞子衡嵌入式半月刊: 第 101 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

痞子衡嵌入式:从JLink V7.62开始优化了手动增加新MCU型号支持方法

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是JLink 7.62优化了手动增加新MCU型号支持方法。 JLink 工具可以说是搞单片机开发的必备神器,JLink 包括一个硬件仿真器(分不同用途的 EDU/BASE/PLUS/WIFI/ULTRA+/PRO)和 PC 机上的驱动软件