痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1160/1170)


  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT1160/1170两款MCU的FlexSPI NOR启动的连接方式

  这个 i.MXRT FlexSPI NOR 启动连接方式系列文章,痞子衡在一年前写过四篇,把当时已面世的所有 i.MXRT 型号(RT600/1010/1015/1020/1050/1060/1064)都囊括了。最近这一年里,i.MXRT 系列又新增了两个型号,分别是属于 i.MXRTxxx 阵营的二号选手 i.MXRT500、属于 i.MXRT1xxx 阵营的第一代旗舰 i.MXRT11xx (包含1160,1170),所以痞子衡要继续更文了。

  痞子衡今天要介绍的是 i.MXRT1160/1170 的 FlexSPI NOR 启动连接方式,在阅读本文前最好把 《FlexSPI NOR启动连接方式(RT1060)》 先看完,对 i.MXRT1xxx 系列有一个基本认识。

  i.MXRT11xx 系列是继 i.MXRT10xx 系列之后推出的第二代架构,Cortex-M7 + Cortex-M4 双核产品,在 IP 数量上也进一步增多,尤其是本文重点关注的 IP - FlexSPI,i.MXRT1160/1170 内部集成了两个 FlexSPI 模块 (1个双通道8bit,1个双通道16bit),并且这两个 FlexSPI 端口均支持挂载 NOR Flash 去启动,这是其与 i.MXRT10xx 系列最大的区别。好,闲话少叙,咱们进入正文:

  • Note1 : i.MXRT1160 与 i.MXRT1170 在启动特性方面是完全一致的,因此本文合并在一起介绍。
  • Note2 : i.MXRT1160/1170 可启动 NOR Flash 如果挂载在 FlexSPI1 上,在系统映射地址空间分配上,给 FlexSPI1 分配的起始地址是 0x30000000,因此 XIP 应用程序需要从 0x30000000 之后的空间开始链接
  • Note3 : i.MXRT1160/1170 可启动 NOR Flash 如果挂载在 FlexSPI2 上,在系统映射地址空间分配上,给 FlexSPI2 分配的起始地址是 0x60000000,因此 XIP 应用程序需要从 0x60000000 之后的空间开始链接

一、涉及FlexSPI引脚

  我们可以在 i.MXRT1160/1170 芯片参考手册 System Boot 这一章节找到 BootROM 指定的 FlexSPI NOR 引脚,痞子衡整理如下:

二、单Flash连接方式(10种)

  在系统设计时使用一片 Flash 是最常用的情况,这片 Flash 负责存放应用程序代码(即所谓的Code Flash),i.MXRT 既可以在 Flash 中原地执行,也可以将应用程序拷贝到内部 RAM 中执行。

  前六种 Flash 连接方式就是利用 FlexSPI PORTA 或 PORTB 里的 6 根信号线连接四线 QSPI Flash(其中 8bit FlexSPI1 的 PORTB 也可以单独接四线 QSPI 启动,这是 RT10xx 所做不到的)。

  下表里最后一组连接方式在设计上没有 DQS 信号,所以连上此引脚的四线 Flash 仅能跑在SDR 60MHz低速下(DQS信号配成 internal loopback 模式)。

  后四种 Flash 连接方式就是利用 FlexSPI PORT 里的全部12根信号线连接八线 Octal Flash 或者 Hyper Flash,注意 FlexSPI1 需要联合 PORTA 和 PORTB 组成 8bit,而 FlexSPI2 则单独 PORTA 或者 PORTB 就满足 8bit 了(对于启动而言,FlexSPI2 不支持联合 PORTA 和 PORTB 组 8bit)。

  至此,恩智浦i.MXRT1160/1170两款MCU的FlexSPI NOR启动的连接方式痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

posted @ 2021-08-13 22:37  痞子衡  阅读(967)  评论(0编辑  收藏  举报