0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

试问谁家MCU能有三重启动保障?

痞子衡嵌入式 来源:痞子衡嵌入式 2023-05-19 11:03 次阅读

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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 上还设计了多级启动保障,如下图所示:

e03d2ff6-f5ef-11ed-90ce-dac502259ad0.png

二、什么是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 模式,这有点将该模式升级成一级启动设备地位的感觉。

e049e4c6-f5ef-11ed-90ce-dac502259ad0.png

最后提一下,i.MXRT 上的 SDMMC manufacture 模式特性完全继承自 i.MX 系列,我们知道 MPU 世界里使用 SD 卡场景非常多,因此使能这个功能很自然,在 i.MXRT 上如果应用里也有 SD 卡相关设计,那么不妨也关注下这个特性,多一重保障。

至此,i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式痞子衡便介绍完毕了,掌声在哪里~~~

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50301

    浏览量

    421396
  • 串行
    +关注

    关注

    0

    文章

    237

    浏览量

    33777
  • 板卡
    +关注

    关注

    3

    文章

    104

    浏览量

    16781

原文标题:真的打满了!试问谁家MCU能有三重启动保障?

文章出处:【微信号:pzh_mcu,微信公众号:痞子衡嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为 Windows XP 建立多重启动

    SP4以上的版本,接着在Windows NT操作系统中执行 Windows 2000 的安装程序,此后就能得到三重启动功能。当计算机中只有一个操作系统时,使用 NTFS 格式化硬盘可以增强系统功能;但在
    发表于 04-24 10:04

    CC2650无线连接三重概述

    `CC2650无线连接三重概述`
    发表于 02-25 10:13

    ML605支持多重启动吗?

    嗨我正在学习Virtex-6的多重启动功能。ML605支持多重启动?谢谢!handoujack。
    发表于 06-16 10:54

    如何利用Platform Flash PROM实现多重启动功能?

    如何利用Platform Flash PROM实现多重启动功能?
    发表于 04-29 06:24

    嵌入式MCU中标准的三重中断控制设计资料大合集

      大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式MCU中标准的三重中断控制设计。  我们知道在 MCU 裸机中程序代码之所以能完成多任务并行实时处理功能,其实主要是靠中断来
    发表于 11-04 06:40

    怎么实现嵌入式MCU中标准的三重中断控制设计?

    怎么实现嵌入式MCU中标准的三重中断控制设计?
    发表于 11-29 06:02

    示波器的三重境界

    电路教程相关知识的资料,关于示波器的三重境界
    发表于 10-10 14:34 0次下载

    智能网联汽车的三重境界

    李彦宏认为,汽车工业正遇到智能化、网联化变革,“而智能网联汽车有三重境界,汽车无人驾驶将经历个阶段,最终走向无人驾驶。”
    的头像 发表于 04-12 11:11 3714次阅读
    智能网联汽车的<b class='flag-5'>三重</b>境界

    如何双启动64位iOS设备

    现如今,在已经有了合适的 Linux 内核可以启动的条件下,相信我们很快就可以在 iOS 设备中看到 Linux 双启动支持。距离使用 iOS、Android 和 Ubuntu Touch 进行三重启动的 iPhone 也不再遥
    的头像 发表于 05-20 09:24 2525次阅读

    如何使用ICAP在Spartan-3AN FPGA内运行多重启动应用

    内运行多重启动应用的用例。 我们将在本篇博文中讲解此用例。 为何需要 ICAP? 对于非 ICAP 设计,使用“主 SPI 模式 (Master SPI Mode)”时,多重启动功能是无效的。 要启用
    的头像 发表于 06-25 17:25 1920次阅读

    使用ICAP在SPI模式下执行Spartan-3AN多重启动

    (UG332) 即为《Spartan-3 系列配置用户指南》。在此用户指南中,并未涵盖有关从 SPI 闪存启动时,如何使用内部配置访问端口 (ICAP) 来支持在 Spartan-3AN FPGA 内运行多重启动应用的用例。我们将在本篇博文中讲解此用例。
    发表于 08-02 14:38 729次阅读
    使用ICAP在SPI模式下执行Spartan-3AN多<b class='flag-5'>重启动</b>

    雷曼光电荣获“全国质量信誉保障产品”等三重权威认证

    金秋九月,雷曼光电以卓越的品质和高标准的工艺技术,经过重重筛选及严格的审核,在2022全国“质量月”活动中荣获“全国LED显示屏行业质量领先企业”、“全国质量检验诚信企业”、“全国质量信誉保障产品”三重权威认证。
    的头像 发表于 09-08 10:29 1694次阅读

    三重逆变器-74LVC3G04

    三重逆变器-74LVC3G04
    发表于 02-16 20:48 0次下载
    <b class='flag-5'>三重</b>逆变器-74LVC3G04

    具有三重互锁保护的正反转启动线路

    一般正反转启动线路均采用双重互锁保护,即,按钮互锁,交流接触器常闭触点互锁。   本线路具有三重互锁保护,也就是按钮互锁,交流接触器常团触点互锁,失电延时时间继电器接电延时闭合的常团触点互锁。该线路互锁程度极高,具
    的头像 发表于 04-27 16:08 1800次阅读
    具有<b class='flag-5'>三重</b>互锁保护的正反转<b class='flag-5'>启动</b>线路

    如何实现stm32单片机每次接上电源就进行一次重启动

    如何实现stm32单片机每次接上电源就进行一次重启动? 在嵌入式系统中,单片机的重启有时是十分必要的,它可以解决一些系统启动过程中的问题、恢复系统的正常运行、使系统更加稳定等。 然而,有时候我们需要
    的头像 发表于 09-14 14:22 4594次阅读