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

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

  痞子衡今天要介绍的是i.MXRT500的FlexSPI NOR启动连接方式,在阅读本文前最好把 《FlexSPI NOR启动连接方式(RT600)》 先看完,对i.MXRTxxx系列有一个基本认识。我们知道i.MXRT500是基于ARM Cortex-M33内核的超低功耗MCU,主要面向智能可穿戴市场。与i.MXRT600一样没有内部非易失性存储器,通过FlexSPI接口连接串行NOR Flash是启动设备首选。

  i.MXRT500内部有两个双通道8bit的FlexSPI模块,比i.MXRT600单FlexSPI模块有所增强,但是这两个FlexSPI模块在芯片I/O上都没有引出Port B,只能使用一个Port(即Port A),因此在启动连接方式上反而更简单了。此外FlexSPI0设计上主要用于连接Flash(仅它在芯片内部连上了OTFAD,可实现在线解密),而FlexSPI1设计上是用于连接HyperRAM/PSRAM去拓展图形显示Buffer空间的。好,闲话少叙,咱们进入正文:

一、FlexSPI连接模式

  FlexSPI模块IP本身支持两种连接模式:Individual mode:多个Flash分时复用FlexSPI,同一时刻仅有一个Flash被操作;Parallel mode:同一时刻两个Flash可以一起被操作,FlexSPI会自动合并/拆分数据(read/program)。但i.MXRT500上没有Port B支持,所以实际上Individual mode是唯一选择。

二、涉及FlexSPI引脚

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

  我们可以在i.MXRT500芯片参考手册Non-Secure Boot ROM这一章节找到BootROM指定的FlexSPI NOR引脚如下,是的,仅FlexSPI0引脚被用于Flash启动设备连接:

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

  第一种Flash连接方式就是利用FlexSPI0 Port里的6根信号线连接四线QSPI Flash:

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

四、Flash+PSRAM连接方式

  i.MXRT500-EVK给出了Flash+PSRAM连接示例,即FlexSPI0连接四线/八线Flash、FlexSPI1连接PSRAM,这也正好符合芯片设计初衷。当然FlexSPI0也可以去连接PSRAM,因为i.MXRT500可以从uSDHC接口去启动(代码存在SD/eMMC里)。

附录、FOWLP249封装下FlexSPI相关的引脚定义

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

欢迎订阅

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

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

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

  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.1)- FlexSPI NOR连接方式大全(RT600)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT600的FlexSPI NOR启动的连接方式. 痞子衡前段时间一鼓作气写完了三篇关于i.MXRT1xxx系列Flex ...

  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. golang 微服务以及相关web框架

    golang 中国gocn golang Applicable to all database connection pools xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常 ...

  2. apktool 回编译报错:No resource identifier found for attribute 'xxxxxx' in package 'android' W:

    C:\xxxx\app-release\res\layout-v26\xxxx.xml:5: error: No resource identifier found for attribute 'xx ...

  3. Python3实现短信轰炸机

    短信轰炸机的基本原理:利用某些限制不严格的网站短信注册接口,用Python模拟请求,传入被炸人手机号码,实现轰炸 实现方式:利用requests模块.time模块.完成请求模拟 模块安装: 在终端窗口 ...

  4. 开源项目月刊《HelloGitHub》第 60 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  5. electron踩坑系列之一

    前言 以electron作为基础框架,已经开发两个项目了.第一个项目,我主要负责用react写页面,第二项目既负责electron部分+UI部分. 做项目,就是踩坑, 一路做项目,一路踩坑,坑多不可怕 ...

  6. Windows10家庭版安装docker

    在公司,一直使用mac系统,在mac上安装使用docker还是比较方便的,可本人心血来朝,家里是win10 home版,就想在windows上刷一刷. 好了,废话不多说,直接上干货. 为了不误导广大爱 ...

  7. Dynamics CRM实体系列之字段

    本节开始讲实体中的基础数据存储对象,也就是字段. Dynamics CRM目前总共有13种字段类型,分别为单行文本.选项集.多选选项集.两个选项.图像.整数.浮点数.十进制数.货币.多行文本.日期和时 ...

  8. malloc 函数分析 glibc2.23

    malloc 函数详解 本篇主要是参考了glibc 2.23的源码 首先我们来看看malloc函数的执行流程. strong_alias (__libc_malloc, __malloc) stron ...

  9. Day01_11_Java方法

    Java - 方法 什么是java中的方法? - 方法就是一段代码片段,并且这段代码可以完成某个特定的功能.动作.是可以被重复的使用. - 方法就是类的一个动作. - 方法在C语言中也叫做函数 或 f ...

  10. 【DB宝49】Oracle如何设置DB、监听和EM开机启动

    目录 一.Windows系统 二.Linux系统 方法1:配置/etc/rc.d/rc.local文件(推荐) 方法2:配置service服务 三.Oracle 18c版本 四.总结 一.Window ...