大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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. [扫描工具]dirsearch简单使用

    [扫描工具]dirsearch简单使用 dirsearch是一个python开发的目录扫描工具.和我们平时使用的dirb.御剑之类的工具一样,就是为了扫描网站的敏感文件和目录从而找到突破口. 安装: ...

  2. [Unity工具]搭建lua环境(IDEA)

    一.下载IDEA 地址:https://www.jetbrains.com/idea/ 这里我的版本是IntelliJ IDEA Community Edition 2020.2.4 x64 二.断点 ...

  3. LaTeX in 24 Hours - 3. Formatting Texts I

    文章目录 本章内容:文本格式 I 3.1 Sectional Units 3.2 Labeling and Referring Numbered Items 3.3 Texts Alignment 3 ...

  4. python和java语法对比

      python java 不同的关键字 except,nolocal,as,assert,async,pass ,await,from,raise,global,in,del,with,lambda ...

  5. flutter系列之:在flutter中使用媒体播放器

    目录 简介 使用前的准备工作 在flutter中使用video_player 总结 简介 现在的app功能越来越强大,除了基本的图文之外,还需要各种各样的其他的功能,比如视频,和直播. 直播可能会比较 ...

  6. vue路由加载页面

    当vue路由切换时,有时候会出现短暂白屏,需要添加一个加载状态 参考:buildadmin 地址:https://demo.buildadmin.com/#/ 利用vue的路由导航守卫:beforeE ...

  7. 【原创】Ubuntu Pro 中的RealTime linux(Real-time Ubuntu/PREEMPT-RT/ubuntu官方PREEMPT-RT)

    [原创]Ubuntu Pro 订阅中的realtime linux(Real-time Ubuntu/PREEMPT-RT) 目录 [原创]Ubuntu Pro 订阅中的realtime linux( ...

  8. centos7搭建bsc全节点

    Centos7搭建bsc全链节点 服务器配置  CPU:8 Cores - 16 Threads RAM:131072 MB Storage:2x 2000GB NVMe Bandwidth:8400 ...

  9. 在k8s(kubernetes)上安装 ingress V1.1.3

    介绍 Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由.流量路由由 Ingress 资源上定义的规则控制. 下面是一个将所有流量都发送到同一 Service 的简单 In ...

  10. 关于安装Sqlyog出现的问题

    前言 这篇博客主要是为了分析一下我安装Sqlyog出现的一些问题,也请圈友们帮忙指正一下,我是不是成立冤大头.由于春节前我的电脑死机,我重装了系统,之后格式化了C盘,导致很多软件(之前都安装在C盘)需 ...