加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、准备工作
    • 二、开始测试
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

测一测i.MXRT1170从串行NAND启动时间

2023/09/15
4052
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本篇是 i.MXRT1170 启动时间评测第四弹,前三篇分别给大家评测了 Raw NAND 启动时间(基于 MIMXRT1170-EVK_Rev.B)、Serial NOR 启动时间(基于 MIMXRT1170-EVB_Rev.A2)、1bit SPI NOR 恢复启动时间(基于 MIMXRT1170-EVK_Rev.C)。最近痞子衡刚写了篇 《i.MXRT从Serial NAND启动》,趁热打铁,索性在新板卡 MIMXRT1170-EVKB_Rev.B 上再测一下 Serial NAND 的启动时间(这里指在 ITCM 执行,暂不考虑在 SDRAM 执行)。

一、准备工作

1.1 知识储备

除了依赖的底层外设类型不同之外,Serial NAND 启动流程与 Raw NAND 启动流程几乎是一致的,因为存储介质角度而言两者都是 NAND。我们知道 NAND 中仅能放置 Non-XIP Application,其不支持原地执行,所以需要 BootROM 来完成 Application 拷贝工作(从 NAND 到 ITCM),为了辅助 BootROM 完成工作,我们需要在 NAND 中放一些特殊数据(即下面的 FCB, DBBT, IVT)。

BootROM 首先从 NAND 中读取 FCB(此时是利用 eFuse 0x940 和 0xC80 里的简化时序配置选项),FCB 中含有三类信息:用户设置的完整时序配置数据(可选的)、DBBT 位置,IVT 位置。BootROM 首先会检查是否存在完整时序配置数据,如果有,则使用这个数据重新配置 NAND 访问时序。然后 BootROM 会继续获取 DBBT 数据,获知当前 NAND 的坏块信息,接下来便是根据 IVT 信息获取 Application 数据完成拷贝(拷贝过程中需要避开坏块)。

1.2 时间界定

关于时间起点和终点,参考《FlexSPI NOR启动时间》 里的1.2节,方法保持一致。EVKB_Rev.B 上时间起点位置 POR 直接引到了 J92-2,无需额外飞线了,不过这个点位有很多电容,会导致电压上升时间缓慢,影响起点选择,后面会特别备注。

1.3 制作应用程序

关于应用程序制作,参考《SEMC NAND启动时间》 里的1.3节。这次测试对长度方面做一些优化,代码改动后的测试工程编出来大小是 21516 bytes,我们可以用二进制编辑器打开 .bin 文件在后面直接插入一些数据将其凑整成 24KB,按此方法可以多做几个不同长度的 image。

1.4 下载应用程序

应用程序的下载需借助痞子衡开发的 NXP-MCUBootUtility 工具(v5.2.1版本及以上),我们需要对 EVKB 板卡做一些改动,将原 U23 - NOR Flash 改为 GigaDevice GD5F1GQ5UEYIG。

翻看 GD5F1GQ5UEYIG 的数据手册,它的总容量是 1Gb,Page Size 是 2KB,最高速度可达 133MHz,因此使用 NXP-MCUBootUtility 下载时做如下配置(不同测试,我们仅需调整 Max Frequency 选项即可):

1.5 示波器抓取信号

一切准备就绪,可以用示波器抓 NAND 启动时间了。这次痞子衡偷了个懒,就测量两路信号,通道一监测主芯片 POR 信号,通道二监测 LED GPIO 信号。

二、开始测试

2.1 测试结果

在公布结果之前,痞子衡先带大家分析一下示波器抓取的启动时间波形,方便大家理解后续表格里的各项组成。POR 信号电压上升时间比较缓慢,其供电来自于 VDD_1V8,我们时间起点暂取其标准有效值 70% - 1.2V 处。

现在让我们看结果吧,痞子衡基于 Flash 速度和 App 长度组合做了很多测试,结果如下表所示(注:表中结果都是在 50M 次/秒的采样率下所得):

启动时间包含 BootROM 和 BootFlash 时间,因为这次测试痞子衡没有拉出 NAND CS# 信号,所以无法直接测量出 BootROM 时间,但是可以根据结果推算,选取 24KB 和 240KB 在 30MHz 下测试的两组结果:

BootROM_time + 24KB_60MHz_BootFlash_time = 9.86ms
BootROM_time + 240KB_60MHz_BootFlash_time = 29.46ms
24KB_60MHz_BootFlash_time * 10 = 240KB_60MHz_BootFlash_time(假定)

得出 BootROM_time = 7.68ms

前几篇测试痞子衡得到的 BootROM 时间都是 6.9ms,看来时间起点 POR 按 70% VDD_1V8 的选择偏早,应该要往后再移一些,如果修正结果的话,那上表里的所有结果全部要再减去 (7.68-6.9)ms 才是更精确的启动时间结果。

至此,恩智浦 i.MX RT1170 FlexSPI NAND 启动时间痞子衡便介绍完毕了,掌声在哪里~~~

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TLP291(GB-TP,SE 1 Toshiba America Electronic Components OPTOISOLATOR 3.75KV TRANS 4-SO

ECAD模型

下载ECAD模型
$0.1 查看
HFBR-1412TZ 1 Foxconn Transmitter, 792nm Min, 865nm Max, 5Mbps, ST Connector, DIP, Panel Mount, Through Hole Mount, ROHS COMPLIANT PACKAGE
$24 查看
CM200C32.768KDZF-UT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, ROHS COMPLIANT, PLASTIC, SMD, 4 PIN
$1.17 查看
恩智浦

恩智浦

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。收起

查看更多

相关推荐

电子产业图谱

硕士毕业于苏州大学电子信息学院,目前就职于恩智浦(NXP)半导体MCU系统部门,担任嵌入式系统应用工程师。痞子衡会定期分享嵌入式相关文章