找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2574

积分

0

好友

342

主题
发表于 2 小时前 | 查看: 2| 回复: 0

恩智浦最新的双核微控制器i.MXRT1180,在启动架构和外部存储器接口上带来了新的特性。对于开发者而言,理解其FlexSPI接口与NOR Flash的硬件连接方式是进行系统设计和软件移植的第一步。本文将深入解析RT1180支持的共计12种NOR Flash启动连接配置,帮助你一次理清所有硬件设计选项。

在详细展开之前,有两项重要的地址映射信息需要提前明确:

  • Note1: 如果可启动的NOR Flash挂载在FlexSPI1上,系统为其分配的映射地址空间起始地址为 0x28000000/0x38000000。进行XIP(就地执行)应用程序开发时,链接起始地址需要设置在此之后。
  • Note2: 如果可启动的NOR Flash挂载在FlexSPI2上,系统为其分配的映射地址空间起始地址为 0x04000000/0x14000000。XIP应用程序的链接起始地址需相应调整。

i.MXRT1180作为i.MXRT1170的架构升级版,采用Cortex-M33 + Cortex-M7双核设计。其启动流程有一个关键变化:系统永远从支持TrustZone安全特性的Cortex-M33核心开始启动,这源于其安全架构的重大升级。在启动特性上,RT1180引入了全新的启动头Container结构,取代了之前型号使用的IVT结构。本文聚焦的FlexSPI模块,RT1180芯片内部集成了两个:一个双通道8bit的FlexSPI1和一个双通道16bit的FlexSPI2。这两个FlexSPI端口均支持挂载NOR Flash作为启动设备,这一点与i.MXRT1170保持一致。

一、BootROM指定的FlexSPI NOR启动引脚

所有的启动连接方式都基于芯片BootROM预先定义好的引脚映射。我们可以在i.MXRT1180的芯片参考手册 System Boot 章节找到这些信息。为了更直观,以下是整理出的FlexSPI1和FlexSPI2相关引脚配置表,这对理解后续的连接组合至关重要。

i.MXRT1180 FlexSPI1 NOR启动引脚配置表

i.MXRT1180 FlexSPI2 NOR启动引脚配置表

二、单颗NOR Flash的12种启动连接方式

在实际系统设计中,使用单颗Flash芯片存放应用程序代码(即Code Flash)是最常见的场景。i.MXRT1180支持从这片Flash中原地执行代码(XIP),也支持将代码拷贝到内部RAM中执行。BootROM为单颗Flash提供了丰富的连接选项,总计12种,可以根据Flash类型和硬件布局灵活选择。

1. 四线QSPI Flash连接方式(7种)

前7种连接方式适用于标准的四线QSPI Flash。它们仅需使用FlexSPI PORTA或PORTB中的6根核心信号线(时钟、片选、数据线0-3)即可完成连接。

一个显著的特点是,对于8bit宽度的FlexSPI1,其PORTB可以独立连接一颗四线QSPI Flash并实现启动,这是此前i.MXRT10xx系列所不具备的能力,为PCB布局提供了更大的灵活性。

i.MXRT1180 FlexSPI 4bit NOR启动连接配置表

上表详细列举了FlexSPI1和FlexSPI2在4bit模式下的所有有效引脚组(Port A Group 0/1, Port B Group 0/1)及其对应的eFuse配置项(如XSPI_INSTANCE, XSPI_PIN_GROUP_SEL, XSPI_NOR_CONNECTION_SEL)。开发者需要根据实际使用的引脚组,通过编程eFuse的相应位来告知BootROM正确的配置。

2. 八线Octal/Hyper Flash连接方式(5种)

后5种连接方式则用于八线Octal Flash或Hyper Flash。这类高性能Flash需要占用全部12根信号线(时钟、片选、数据线0-7)以实现更高的数据传输带宽。

这里有一个重要的区别:对于FlexSPI2,需要联合其PORTA和PORTB共同组成一个8bit端口;而对于FlexSPI1,其单独的PORTA或PORTB本身已是8bit宽度,足以连接八线Flash。请注意,出于启动设计限制,FlexSPI1不支持将PORTA和PORTB联合起来组成8bit端口。

i.MXRT1180 FlexSPI 8bit NOR启动连接配置表

此表展示了8bit模式下的引脚组配置。需要特别留意的是,FlexSPI2的部分连接组合涉及到AON(Always-On)电源域的引脚。由于AON域引脚的最高信号翻转频率通常被限制在100MHz,因此当选择通过这些引脚连接Flash时,Flash的工作模式(无论是SDR还是DDR)其时钟频率均不应超过100MHz,否则可能导致启动失败或运行不稳定。

以上就是i.MXRT1180微控制器关于FlexSPI NOR启动的全部12种硬件连接方式解析。正确理解这些引脚组合和配置选项,是确保嵌入式系统硬件设计成功的基础。如果你在系统启动或底层驱动开发中遇到问题,欢迎在云栈社区与更多开发者交流讨论。




上一篇:C语言实用代码片段:Linux嵌入式开发中的结构体、文件操作与调试技巧
下一篇:i.MXRT1050实战指南:串行NAND启动配置与Flash烧录全解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-26 21:08 , Processed in 0.705494 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表