大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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主页知乎主页微信公众号 平台上。

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

痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式的更多相关文章

  1. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(1)- KBOOT架构

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT架构. Bootloader是嵌入式MCU开发里很常见的一种专用的应用程序,在一个没有Boo ...

  2. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(2)- KBOOT形态(ROM/Bootloader/Flashloader)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT形态. 痞子衡在前一篇文章里简介了 KBOOT架构,我们知道KBOOT是一个完善的Bootl ...

  3. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(3)- KBOOT配置(FOPT/BOOT Pin/BCA)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT配置. KBOOT是支持配置功能的,配置功能可分为两方面:一.芯片系统的启动配置:二.KBO ...

  4. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(IntegrityCheck)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常 ...

  5. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(11)- KBOOT特性(ROM API)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之ROM API特性. KBOOT的ROM API特性主要存在于ROM Bootloader ...

  6. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(10)- KBOOT特性(可靠升级)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之可靠升级(Reliable Update)特性. 所谓可靠升级机制,即在更新Applica ...

  7. 痞子衡嵌入式:从头开始认识i.MXRT启动头FDCB里的lookupTable

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT启动头FDCB里的lookupTable. 一个MCU内部通常有很多外设模块,这些外设模块是各MCU厂商做差异化产品的本质, ...

  8. 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-E ...

  9. 痞子衡嵌入式:聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异. GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能 ...

  10. 痞子衡嵌入式:聊聊系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响. 软件看门狗模块(WDOG)在 MCU 应用里可以说是非常基础的功能模 ...

随机推荐

  1. 什么是js柯里化(curry)?

    在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术. 举例来说,一个接收3个参数的普通函数,在进行柯里化后,柯里化版本的函数接收一个参数并返回接收下一个参数 ...

  2. postman打开白屏

    1.打开高级系统设置:2.在"高级"选项卡中,单击"环境变量":3.添加一个新的系统变量:POSTMAN_DISABLE_GPU=true4.关闭Postman ...

  3. linux 数据卷磁盘管理

    新加磁盘如何创建逻辑分区 查看命令 lvs  vgs pvs 1: 新建一个分区(partition)fdisk /dev/sdb 2:创建PV(物理卷)pvcreate /dev/sdb1pvs或 ...

  4. APP 监听手机键盘是否弹出

    /** * 监听键盘是否弹出 * @param show * @param hide */ export const addEventKeyboardStatus = (show,hide)=> ...

  5. Jmeter--请求结果写入文件并生成报告

    一.数据写入文件 Jmeter中监听器控件中,都可以将"所有数据写入一个文件",且文件形式有:xml\jtl\csv 在需要写入的监听器下点击"浏览"按钮,选择 ...

  6. jmeter之阶段式压测

    一.bzm - Concurrency Thread Group 1.什么是阶梯式压测 阶梯式压测,就是对系统的压力呈现阶梯性增加的过程,每个阶段压力值都要增加一个数量值,最终达到一个预期值.然后保持 ...

  7. OpenJudge2811:熄灯问题(枚举)

    熄灯问题 有一个由按钮组成的矩阵,其中每行有6个按钮,共5行.每个按钮的位置上有一盏灯.当按下一个按钮后,该按钮以及周围位置(上边.下边.左边.右边)的灯都会改变一次.即,如果灯原来是点亮的,就会被熄 ...

  8. EL表达式 总结

    EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离ja ...

  9. 删除Mac版word上方的Mathtype

    原因 Mac升级到macOS Catalina v10.15.3发现mathtype用不了, Mathtype官网说目前暂时不支持这个版本的系统. 现在尴尬的是, mathtype删除了, 但一不小心 ...

  10. linux虚拟机设置网络显示NetworkManager need to be running

    问题描述:在设置一台centOS7虚拟机的网络时出现: 解决方法: 命令行重启NetworkManager systemctl restart NetworkManager 刷新一次就好了