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

  痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列FlexSPI NOR启动连接的文章,算是把目前已供货的i.MXRT1xxx型号全部都聊了一遍,但是恩智浦近期刚宣布i.MXRT600正式供货了,得了,活又来了,继续写吧。

《FlexSPI NOR启动连接方式(RT1015/1020/1050)》
《FlexSPI NOR启动连接方式(RT1060/1064(SIP))》
《FlexSPI NOR启动连接方式(RT1010)》

  i.MXRT600跟i.MXRT1xxx系列(Cortex-M7内核)不太一样,其内核采用的是ARM Cortex-M33 + DSP,所以我们一般将i.MXRT600归属于i.MXRTxxx系列,它是i.MXRTxxx系列的老大哥。
  虽然i.MXRTxxx算是个新系列,但从系统角度来看其很多地方跟i.MXRT1xxx系列一样,它也没有内部非易失性存储器,支持启动的外部存储器类型也很多,通过FlexSPI接口连接串行NOR Flash也是首选。
  i.MXRT600内部有一个双通道8bit的FlexSPI模块,这个模块与i.MXRT1xxx里是几乎一样的(存在微小升级),但在Pinmux设计上与i.MXRT1xxx上差异较大(主要涉及SoC设计上的两种8线实现方法),这也是本文要介绍的重点。

一、FlexSPI连接模式

  老规矩,在讲启动连接之前,先简单聊一下FlexSPI模块的连接模式。从手册里看,FlexSPI一共有两种连接模式:

Individual mode:如下图Flash A1+A2+B1+B2(四线/八线Flash均可),它们分时复用FlexSPI,同一时刻仅有一个Flash被操作(仅一个PORT有数据收发)。
Parallel mode:如下图Flash A1+B1或Flash A2+B2(仅四线QSPI),同一时刻两个Flash可以一起被操作(两个PORT都有数据收发),FlexSPI会自动合并/拆分数据(read/program)到两个PORT。

  因为i.MXRT600的FlexSPI PORTA和PORTB均是8bit数据线,均可独立连八线Flash,因此RT1xxx上那种联合PORTA 4bit数据线和PORTB 4bit数据线组Combination mode去连八线Flash那种方式在i.MXRT600上不适用。

二、涉及FlexSPI引脚

  i.MXRT600一共提供了三种封装(WLCSP114、VFBGA176、FOWLP249),并且根据是否选配DSP,一共有6个型号。下文要介绍的FlexSPI NOR启动连接方式并不一定适用所有封装(主要是WLCSP114连接方式较少)。

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

三、单Flash连接方式(4种)

  前两种Flash连接方式就是利用FlexSPI PORTA或PORTB里的6根信号线连接四线QSPI Flash(划重点,PORTB可以单独接四线QSPI启动,这是RT1xxx所做不到的)。

  第三种Flash连接方式就是利用FlexSPI PORTA里的全部12根信号线连接八线Octal Flash(换成Hyper Flash也行)。

  第四种Flash连接方式就是利用FlexSPI PORTB里的10根信号线连接八线Octal Flash(或Hyper Flash),这是i.MXRT600 EVK (Rev.E)里的连接方式,需要注意的是因为PORTB没有CLK_N以及DQS信号,所以此时的八线Flash仅能跑在50MHz低速下(DQS信号配成internal loopback模式)。

四、双Flash连接方式(5种)

  i.MXRT600支持挂两片Flash去启动,此处仅以两片四线QSPI Flash为例。下图给出了多片Flash的连接方式,理论上一个FlexSPI最多可以挂四片Flash,因为最大有4个片选。但仅考虑接两片Flash的话,一共Flash A0+A1、A0+B0、A0+B1、B0+A1、B0+B1五种正确连法。剩下的那个A1+B1组合因为没有Code Flash,所以无法正常启动。

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

欢迎订阅

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

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

痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(6.1)- FlexSPI NOR连接方式大全(RT600)的更多相关文章

  1. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(3)- Serial ISP模式(blhost)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的Serial ISP模式. 在上一篇文章 Boot配置(ISP Pin, OTP) 里痞子衡为大家 ...

  2. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子 ...

  3. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(8)- 从Serial(1-bit SPI) NOR恢复启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的1-bit SPI NOR恢复启动. 在前几篇里痞子衡介绍的Boot Device都属于主动启动的 ...

  4. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(1)- Boot简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的BootROM功能简介. 截止目前为止i.MX RTxxx系列已公布的芯片仅有一款i.MXRT60 ...

  5. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(2)- Boot配置(ISP_Pin, OTP)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRTx ...

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

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT500的FlexSPI NOR启动的连接方式. 这个i.MXRT FlexSPI NOR启动连接方式系列文章,痞子衡 ...

  7. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(7)- 从SD/eMMC启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRTxxx系列MCU的SD/eMMC卡启动. 关于 i.MXRT 启动设备,痞子衡之前写过很多篇文章,都是关于串并行 NO ...

  8. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(1)- KBOOT架构

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT架构. Bootloader是嵌入式MCU开发里很常见的一种专用的应用程序,在一个没有Boo ...

  9. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(IntegrityCheck)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常 ...

随机推荐

  1. 108)PHP分页显示

    一个代码页的链接:https://www.cnblogs.com/mmykdbc/p/6688460.html 首先一个简单的代码展示: 目录关系: 数据库表格展示: 结果展示:   然后  代码展示 ...

  2. 0x06 - Nginx 负载均衡会话保持

    Nginx 负载均衡会话保持 背景 负载均衡时,如果APP需要保持特定状态的时候,就要保证同一用户的 session 会被分配到同一台服务器上. 实现方案 使用cookie 将用户的 session ...

  3. day46-守护线程

    #1.守护线程要注意的坑:下面代码只能打印出子线程开始,无法打印出子线程执行完毕,因为主线程在t.start()以后就结束了, #而子线程要睡眠1秒,所以子线程守护线程随着主线程的结束而结束了. fr ...

  4. 提高线程数,解决redis超时问题

    根据压测结果做出的修改历史: 第一步:只针对maxWorkerThreads.maxIoThreads和minWorkerThreads做了修改<processModel autoConfig= ...

  5. 项目引入nacos 日志不显示问题

    禁用nacos的日志即可解决 idea当中 添加vm options参数即可 -Dnacos.logging.default.config.enabled=false 打包后的启动命令  java - ...

  6. npm基本语法

    npm -version  查看npm版本 npm install <name>  安装node.js的依赖包 npm install <name> @3.0.6 安装版本为3 ...

  7. springboot学习笔记:5.spring mvc(含FreeMarker+layui整合)

    Spring Web MVC框架(通常简称为"Spring MVC")是一个富"模型,视图,控制器"的web框架. Spring MVC允许你创建特定的@Con ...

  8. RAM子账户登录DMS对库进行管理

    前言:阿里云账户是个权限很大的账户,有时候为了不让更多的人知道,但是又必须让别人管理里面某个模块的功能的时候,RAM子账户就显得很重要,所以设置子账户的权限就很有必要了,下面简单设置两种权限(dms上 ...

  9. whip|resist|patch|intimate|

    a piece of leather or rope that is fastened to a stick, used for hitting animals or people 鞭子,皮鞭 She ...

  10. Django中查询相关操作

    查询集特性 1)惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询. 2)缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个 ...