- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
恩智浦i.MXRT1xxx系列MCU的Serial NAND启动
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT1xxx系列MCU的Serial NAND启动。
最近越来越多的客户在咨询 i.MXRT1xxx 从 Serial NAND 启动的事情,让这个本来比较冷门的启动设备突然火热起来。据痞子衡的了解,其实客户主要目的是在应用里基于 Serial NAND 去做文件系统(看起来随着技术的发展,就文件系统应用或者多媒体数据存储方面而言 Raw NAND 已经不是绝对优势了),然后顺便用它做应用代码启动。借此机会,今天痞子衡就给大家介绍一下 Serial NAND 上制作、下载、启动程序的方法:
Note:文中贴图、代码主要以 i.MXRT1050 为例,其余 i.MXRT1xxx 系列原理类似。
一、支持的Serial NAND
Serial NAND 厂商非常多,对应 Serial NAND 芯片型号也很多,如果你在选型时不确定到底该为 i.MXRT 选择哪一款 Serial NAND 时,可选用下面四款芯片,痞子衡均实测过:
Macronix MX35LF2G24AD (120MHz, x4 bits, 2KB Page/128KB Block/2Gb Device, 8-bit/544byte ECC, 3.3V)
Winbond W25N01GV (104MHz, x4 bits, 2KB Page/128KB Block/1Gb Device, 1-bit/528byte ECC, 3.3V)
GigaDevice GD5F1GQ5UEYIG (133MHz, x4 bits, 2KB Page/128KB Block/1Gb Device, 4-bit/528byte ECC, 3.3V)
Micron MT29F1G01ABA (133MHz, x4 bits, 2KB Page/128KB Block/1Gb Device, 8-bit/Sector ECC, 3.3V)
需要特别注意的是,与 《i.MXRT从Raw NAND启动》 里既可使用纯软件 ECC 也可利用 Flash 自带硬件 ECC 特性不同的是,从 Serial NAND 启动必须依赖 Flash 自带硬件 ECC。
二、Serial NAND硬件连接
除了 i.MXRT1010/1024/1064 不支持 Serial NAND 启动之外,其余 i.MXRT1xxx 都可以支持。其中 i.MXRT10xx 系列只支持一组引脚连接组合,而 i.MXRT11xx 则支持多组引脚连接组合。i.MXRT1050 BootROM 支持如下 pinmux 来连接 Serial NAND 去启动:
如下是 IMXRT1050EVK12_Rev.A 板上四线 QSPI Flash 连接设计,板载默认 U33 芯片是 Serial NOR Flash,我们可以换成同封装 Serial NAND,痞子衡就将其换成了 MX35LF2G24AD 来做测试,当然 FLASH_VCC 也相应改成了 3.3V:
三、Serial NAND加载启动过程
我们知道 Serial NAND 中仅能放置 Non-XIP Application(链接到内部 SRAM 或者 外部 RAM 空间),其启动加载流程跟 《从 Serial(1-bit SPI) NOR/EEPROM恢复启动》 加载流程差不多(参考文章第 3 小节)。
i.MXRT BootROM 中对于 Serial NAND 启动流程处理和对于 Raw NAND 启动处理几乎是一样的,都是依赖 FCB 和 DBBT 这两个数据结构(当然 Serial NAND 和 Raw NAND 里对于这两个数据结构具体成员定义有差异)。关于 FCB 和 DBBT 的使用,痞子衡在《i.MXRT从Raw NAND启动》一文中三、四小节讲得很清楚,这里不再赘述。
i.MXRT1050 参考手册 System Boot 章节里画了上电启动时 BootROM 代码搜索 FCB 和 DBBT 的流程,能找到这两个数据,应用程序就能够被正常加载。这里需要特别注意,FCB 和 DBBT 是在配套 Flashloader 执行过程中动态生成的,因为涉及 NAND Flash 里具体坏块分布信息,所以无法在 PC 端直接制作 FCB 和 DBBT,这就意味着我们无法像 NOR Flash 那样事先得到一个完整的含全部启动头(FCBDBBTIVTBD)的 NAND bootable image。
四、下载Application进Seri
原创力文档


文档评论(0)