当前位置:职场发展 > 批子恒嵌入式:说说i.MXRT1xxx上的三级启动保障

批子恒嵌入式:说说i.MXRT1xxx上的三级启动保障

  • 发布:2023-10-02 02:33


  大家好,我是皮子恒,一个认真科技的痞子。今天皮子恒给大家介绍的是i.MXRT1xxx的第三层启动保障——SDMMC制造模式

  如果您尝试从i.MXRT1xxx板上的SD/eMMC卡启动,您会发现一个奇怪的现象:如果SD/eMMC卡仍然插入(并且其中保留了正常的App程序),则它会启动。明明BOOT_MODE[1:0]设置为从串行NOR Flash启动,但是当Flash中没有可启动的App时,芯片并没有像往常一样进入串行下载模式,而是正常启动,从SD/启动eMMC中的程序怎么了?今天皮子恒就给大家介绍一下这一现象背后的神秘力量——SDMMC制造模式:

  • 注意:SDMMC 制造模式仅在 i.MXRT 四位数上受支持。

1。 i.MXRT 启动设备回顾

  i.MXRT系列没有内部非易失性存储器,因此需要配置外部存储器来存储启动代码。该外部存储器也称为启动设备。 i.MXRT支持多种类型的启动设备,由于启动设备受板级环境影响,启动代码读取可能会出现异常。 i.MXRT还设计了多级开机保护,如下图:

2。什么是SDMMC制造模式?

  我们知道i.MXRT1xxx系列支持多种一级启动设备:串行NOR/NAND、并行NOR/NAND、SD/eMMC。当这些一级启动设备中的App无法正常启动时,为了保证系统仍能正常运行,会自动进入备份启动方案(默认不开启,需要主动烧录开启) on by eFuse),也就是皮子恒在旧文中介绍的《从Serial(1-bit SPI) EEPROM/NOR恢复启动》。

  如果这个备份启动方案仍然失败怎么办?然后就需要进入今天的主角,第三层也是最后一层的启动方案——SDMMC制造模式启动(默认开启,可以通过烧录eFuse关闭。对于RT1050系列,在eFuse 0x470[3]中配置——禁用SDMMC Manufacture模式),简单也就是说,i.MXRT最后一次启动时会尝试从SD/eMMC读取App。需要说明的是,本次SDMMC制作启动方式与《一级启动设备 SD/eMMC 方式》的不同之处如下:

  • 一级启动设备SD/eMMC可以有多种用户配置(由BT_CFG引脚或eFuse决定),但SDMMC厂家启动与用户配置无关。固定以 1 位总线宽度、3.3V 模式从 uSDHC1 端口读取 开始应用程序。

3。什么情况下进入SDMMC制造模式?

  在i.MXRT芯片参考手册的System Boot章节中可以找到如下流程图,介绍了两种进入SDMMC制造模式的方法。

  第一种方法是设置主启动设备和备份启动设备(假设已Enable)无法自动进入。这种方法是被动进入。当然,这也是该模式的主要目的。

  第二种方法是当BOOT_MODE[1:0]=2'b00且BT_FUSE_SEL=1'b0时主动进入SDMMC制造模式,有点像将该模式升级为一级启动设备的状态。

  最后,i.MXRT上的SDMMC制造模式功能完全继承自www.sychzs.cn系列。我们知道,在MPU世界中有很多使用SD卡的场景,所以启用这个功能也是很自然的事情。如果在i.MXRT应用中也有SD卡相关的设计,那么不妨关注一下这个功能,多一层保护。

  至此,皮子恒对i.MXRT1xxx第三级启动保障——SDMMC制造模式的介绍就完成了,掌声在哪里~~~

欢迎订阅

文章将同时发布到我的博客园主页、CSDN主页、知乎主页、微信公众号平台。

微信搜索“痽子hengembedded”或扫描下方二维码即可在手机上立即观看。

相关文章