![](https://img-blog.csdnimg.cn/fd6960306a21490b9bf6601053f3560c.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
i.MX RT1050学习笔记
文章平均质量分 91
免责声明:此文章只是个人笔记,大家酌情参考,出了啥问题勿要乱甩锅,本人不背,谢谢大家。
小猫爪
天不生我小猫爪,你好我好大家好
展开
-
小猫爪:i.MX RT1050学习笔记28-RT1170之消失的GPIO中断
i.MX RT1050学习笔记28-RT1170之消失的GPIO中断1 问题2 解答END1 问题 接触RT1170的时候,会发现一个诡异的现象,发现在M7核中找不到GPIO7~GPIO12的中断向量号,这是咋回事。2 解答 问:想咨询下RT1170管脚GPIO_EMC_B1_33(IOMUXC_GPIO_EMC_B1_33_GPIO8_IO01),GPIO_SD_B1_04(IOMUXC_GPIO_SD_B1_04_GPIO10_IO07)这两个管脚可以作为输入中断吗? 从手册和sdk看原创 2021-12-17 14:09:36 · 658 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记27-RT1170的Low Power Mode简介
i.MX RT1050学习笔记27-RT1170的Low Power Mode简介1 前言2 域(Domain)和资源(Resource)2.1 Domain2.1 Resource3 低功耗控制二把手GPC3.1 CPU mode控制3.2 Setpoint控制3.3 Standby控制3.4 总结4 SNVS mode5 唤醒源6 低功耗运行流程补充END1 前言 前段时间学习了一下RT1170的低功耗模式相关,发现RT1170的低功耗模式如此之复杂,竟恐怖如斯,下面我就将我对这个Low Powe原创 2021-10-08 18:18:47 · 3212 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记26-RT1xxx系列的FlexCAN详解
i.MX RT1050学习笔记26-RT1xxx系列的FlexCAN详解1 前言2 FlexCAN简介2.1 MB(邮箱)系统2.1.1 正常模式下2.1.2 激活了CAN FD情况下2.1.3 激活了RX FIFO情况下2.2 过滤机制2.2.1 **标准x邮箱**的过滤器2.2.2 RX FIFO的过滤器2.3 匹配机制3 参考示例END1 前言 努力学习一下RT1xxx的CAN外设,CAN的使用场景还是非常多的,特别在汽车电子更是主流的通信网络,下面就基于RT1xxx的FlexCAN模块原创 2021-09-23 10:21:44 · 2349 阅读 · 5 评论 -
小猫爪:i.MX RT1050学习笔记25-NXP-MCUBootUtility的使用(RT1170)
i.MX RT1050学习笔记25-NXP-MCUBootUtility的使用(RT1170)1 前言2 XIP启动2.1 准备镜像2.2 下载3 non-XIP启动3.1 准备镜像3.2 下载END1 前言 NXP-MCUBootUtility是NXP一位大佬写的一个针对RT系列的通用型下载工具,前面对它做了一个简单的介绍,该工具的下载地址如下:https://github.com/JayHeng/NXP-MCUBootUtility。下面也有对这个软件的具体说明。 接下来我们就以NXP-RT原创 2021-07-14 12:19:18 · 2618 阅读 · 4 评论 -
小猫爪:i.MX RT1050学习笔记24-eDMA之eDMA&SAI&ASRC的“纠缠”(RT1170)
i.MX RT1050学习笔记24-RT1170 eDMA,SAI和ASRC的“纠缠”1 前言2 eDMA详解3 SAI简介4 ASRC简介5 联合使用样例5.1 使用场景①5.2 使用场景②5.2 使用场景③1 前言 今天咱们来说说RT四位数系列的外设eDMA,因为DMA一般来说不会单独使用,所以还要引入两位重要的配角为SAI和ASRC,三者配合着可以实现千变万化的变化,也是因为一个偶然的机会接触到了eDMA,SAI和ASRC的几个使用场景,所有正好借这几个场景正好把这三兄弟的纠缠简单的描述一下,使原创 2021-07-13 11:24:31 · 2610 阅读 · 1 评论 -
小猫爪:i.MX RT1050学习笔记23-FreeRTOS移植之宇宙最详细
小猫爪:i.MX RT1050学习笔记22-eLCDIF1 前言2 准备2.1 下载FreeRTOS源代码2.2 准备一个RT1050的普通工程3 开始1 前言好久没有写了,随着对RT1050的了解深入,所以从今天开始我就要进入学习实战篇了,今天我们踏入实战第一篇:FreeRTOS移植。关于FreeRTOS的基本知识我这里就不再多做阐述了,网上一搜一大堆,这里我给大家推荐一个大神的专题文章:1.《FreeRTOS基础篇》2. 《FreeRTOS高级篇》。2 准备我这里是用的KEIL,毕竟学生时代接触原创 2021-01-08 10:34:51 · 1303 阅读 · 3 评论 -
小猫爪:i.MX RT1050学习笔记22-eLCDIF
小猫爪:i.MX RT1050学习笔记22-eLCDIF1 前言2 结构3 初始化传输过程END1 前言RT1052 系列芯片内部自带一个增强型液晶Parallel RGB接口外设eLCDIF(Enhanced LCD Interface),配合使用内部SRAM或外部的SDRAM作为显存,可直接控制液晶面板,无需额外增加液晶控制器芯片。RT1052 的eLCDIF 液晶控制器最高支持1366x768 分辨率的屏幕;可支持多种颜色格式,包括RGB888、RGB565、ARGB8888 等(其中的“A”是指原创 2020-12-04 09:17:55 · 1544 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记21-安全启动5-实现BEE单引擎OTPMK加密
小猫爪:i.MX RT1050学习笔记21-安全启动5-实现BEE加密1 前言2 准备工作2.1 下载Flashloader2.2 下载CST2.3 安装OpenSSL3 实战操作1-OTPMK BEE加密+HAB签名3.1 生成公钥和公钥摘要3.2 生成公钥sb文件3.3 生成具有HAB签名的Flashloader镜像3.4 生成具有HAB签名的镜像sb文件3.5 烧写文件END1 前言已经介绍了RT的HAB加密,下面我们来实现RT的BEE加密,之前已经介绍过,BEE加密是支持XIP的,还分别单引擎加原创 2020-11-27 16:57:43 · 855 阅读 · 2 评论 -
小猫爪:i.MX RT1050学习笔记20-安全启动4-实现HAB签名和HAB加密
小猫爪:i.MX RT1050学习笔记20-安全启动4-实现HAB签名和HAB加密1 前言2 准备工作2.1 下载Flashloader2.2 下载CST2.3 安装OpenSSL3 实战操作3.1 生成公钥和公钥摘要3.2 生成公钥sb文件3.3 生成具有HAB签名的Flashloader镜像3.4 生成签名和加密的镜像sb文件3.5 烧写公钥摘要至FUSE3.6 烧写sb文件1 前言前面我们已经实现了HAB的签名,接下我们来实现HAB签名和HAB加密。2 准备工作2.1 下载Flashloade原创 2020-11-26 18:04:41 · 753 阅读 · 1 评论 -
小猫爪:i.MX RT1050学习笔记19-安全启动3-实现HAB签名
小猫爪:i.MX RT1050学习笔记18-安全启动2-HAB签名1 前言2 准备工作2.1 下载CST2.2 下载Flashloader2.3 安装MinGW2.4 安装OpenSSL3 具体步骤3.1 生成公钥和公钥摘要1 前言前面对RT1050的安全启动做了一个简单的介绍,接下来就尝试一下最基础的安全启动机制-HAB签名,该种方式是最初级的安全模式,即仅对image进行签名认证,一般用于对产品安全性要求较高的场合。签名认证主要是对image合法性进行校验,检测image是否被异常破坏或篡改,如果检原创 2020-11-26 18:04:28 · 857 阅读 · 6 评论 -
小猫爪:i.MX RT1050学习笔记18-安全启动2-elftosb和MfgTool(sdphost,blhost)的使用
小猫爪:i.MX RT1050学习笔记18-安全启动2-相关工具的使用1 前言2 准备工作2.1 下载Flashloader2.2 准备镜像3 具体操作3.1 生成启动sb文件3.2 烧写1 前言在介绍RT1050的相关加密操作之前,我们先来介绍一下一些工具的使用。2 准备工作2.1 下载Flashloader下载网址:<<Flashloader_i.MX RT1050>>下载下来解压后,如下图:并在Tools文件夹下新建一个文件夹cst备用,如下图:2.2 准备原创 2020-11-24 16:04:55 · 5760 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记17-安全启动1-简介
小猫爪:i.MX RT1050学习笔记17-安全启动1-简介1 前言2 加密和解密,数字签名2.1 加密和解密2.2 数字签名3 RT1050安全简介3.1 HAB签名认证3.2 HAB签名认证与HAB加密3.3 单引擎/ 双引擎 BEE加密END1 前言这段时间准备开始学习RT1050的安全启动系列,在简单了解了一下RT的安全机制后,突然意识到这相比之前的文章专题复杂了很多,接下来可能要花好几篇文章来将RT1050的安全启动专题记录下来了,让我们慢慢的开始吧。2 加密和解密,数字签名首先让我们简单原创 2020-11-17 16:52:13 · 1044 阅读 · 2 评论 -
小猫爪:i.MX RT1050学习笔记16-启动流程(Boot Flow)
小猫爪:i.MX RT1050学习笔记16-启动流程(Boot Flow)1 前言2 bootROM的流程2.1低功耗唤醒启动2.2 正常启动2.2.1 Serial Download2.2.1 Internal Boot3 加载镜像流程3.1 FlexSPI Serial NOR Flash3.2 FlexSPI Serial NAND Flash3.3 SEMC Parallel NOR Flash3.4 SEMC Raw NAND Flash3.5 SDHC SD/MMC3.6 LPSPI NOR/E原创 2020-11-13 15:11:52 · 1155 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记15-FlexSPI-FLASH使用3-KEIL FLASH算法中的使用
小猫爪:i.MX RT1050学习笔记15-FlexSPI-FLASH使用3-KEIL FLASH算法中的使用1 前言2 FLASH算法解析2.1 初始化Init2.2 写操作END1 前言在前面介绍了RT1050启动时会读取镜像的FCB数据对FlexSPI进行初始化,在下载代码进FLASH时,我们需要使用FLASH算法,那我们怎样在KEIL FLASH算法中对FlexSPI进行初始化呢,或者说怎样针对自己的FLASH设计自己的算法呢?2 FLASH算法解析首先去了解一下官方的源码做了什么,打开NX原创 2020-11-12 16:27:26 · 965 阅读 · 2 评论 -
小猫爪:i.MX RT1050学习笔记14-FlexSPI-FLASH使用2-IAR FLASH算法中的使用
小猫爪:i.MX RT1050学习笔记14-FlexSPI-FLASH使用2-IAR FLASH算法中的使用1 前言FLASH算法解析END1 前言在前面介绍了RT1050启动时会读取镜像的FCB数据对FlexSPI进行初始化,在下载代码进FLASH时,我们需要使用FLASH算法,那我们怎样在FLASH算法中对FlexSPI进行初始化呢,或者说怎样针对自己的FLASH设计自己的算法呢?FLASH算法解析首先去了解一下官方的源码做了什么,打开NXP RT1050的IAR FLASH算法源码(路径:C:原创 2020-11-12 15:39:16 · 736 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记13-FlexSPI-FLASH使用1-启动时的初始化
小猫爪:i.MX RT1050学习笔记13-FlexSPI-FLASH使用1 前言2 硬件连接3 启动时FlexSPI的初始化END1 前言前面对FlexSPI做了一个简单的介绍,接下来就是FlexSPI具体得使用了。因为对于RT1050来说没有内嵌的FLASH,而且只有一个FlexSPI外设(它的大哥们都会有两个FlexSPI外设),所以在一般的应用中都会使用FlexSPI接口外接支持XIP的外部FLASH存储代码(虽然RT1050支持多种启动设备,但是一般用的最多的还是FlexSPI nor),所以原创 2020-11-11 17:21:48 · 1830 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记12-FlexSPI简介
小猫爪:i.MX RT1050学习笔记12-FlexSPI简介1 前言2 扩展SPI3 FlexSPI3.1 IO_CTL3.2 SEQ_CTL3.3 ARB_CTL3.4 IP_CTL3.5 AHB_CTL1 前言接下来我们学习一下RT1050一个最重要的外部存储器接口FlexSPI,因为其对于RT的启动,XIP以及外部存储器的拓展都息息相关,实打实的核心。2 扩展SPI相信大家对于传统SPI并不陌生,四个信号线,四种工作模式,同步全双工通讯,在这里我就不多做介绍了,接下来让我们了解一下SPI的扩原创 2020-11-10 14:49:54 · 2952 阅读 · 2 评论 -
小猫爪:i.MX RT1050学习笔记11-FlexRAM的使用
小猫爪:i.MX RT1050学习笔记11-FlexRAM的使用1 前言2 FlexRAM介绍3 FlexRAM配置方法4 FlexRAM使用4.1 修改FSUE4.2 通过IDE脚本4.3 在BootLoader中4.4 修改startup.s文件4.5 通过DCD1 前言对于RT1050的内部SRAM则是有着非常灵活的功能。接下来让我们一起来学习一下吧。2 FlexRAM介绍RT1050总共有512KB大小的内部RAM,然后将其按照32KB大小分成了16个bank,每一个bank都可以分成ITC原创 2020-10-28 17:40:07 · 1058 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记10-SDRAM的提前初始化
小猫爪:i.MX RT1050学习笔记10-SDRAM的提前初始化1 前言2 使用脚本3 使用DCD4 使用config tools快速得到初始化数据1 前言前面提到我们可以在运行APP之前对RT的SDRAM进行初始化,确保其可以作为RT的外部RAM正常运行,大致有使用脚本和使用DCD,接下来我们来看看具体操作。2 使用脚本这种方式只适用在IDE debug环境下,如果我想将代码运行至SDRAM中进行debug,则可以采用这种方式。在IAR环境中,脚本文件可以在如下界面中设置:我们打开该文件,看原创 2020-10-27 15:59:32 · 1417 阅读 · 1 评论 -
小猫爪:i.MX RT1050学习笔记9-镜像文件分解
小猫爪:i.MX RT1050学习笔记9-RT的“bin”文件1 前言RT1 前言我们在《小猫爪:i.MX RT1050学习笔记1-启动》中介绍了一下RT系列芯片的启动过程与一般MCU的启动机制不一样,提到RT的bin文件是经过加工之后的镜像文件,接下就让我们看看RT的镜像文件进行了怎么的加工,才能让RT正常启动。RT...原创 2020-10-22 15:56:05 · 1409 阅读 · 2 评论 -
小猫爪:i.MX RT1050学习笔记8-SEMC
小猫爪:i.MX RT1050学习笔记8-SEMC1 前言2 SEMC2.1 SEMC的结构1 前言在介绍RT1050启动的时候说到RT支持各种外部存储器启动,其中一个外部存储器接口就是SEMC(Smart External Memory Controller),其可以支持SDRAM,SRAM,NOR Flash, NAND Flash,还可以支持8080显示器,接下来就对其简单介绍一下。2 SEMCRT10529 使用SEMC 外设来管理扩展的存储器,SEMC 是Smart External Me原创 2020-10-20 16:34:23 · 3120 阅读 · 5 评论 -
小猫爪:i.MX RT1050学习笔记7-Power Supply
小猫爪:i.MX RT1050学习笔记7-Power Supply电源设计1 前言2 与电源相关的引脚3 上电和掉电序列4 关于片内DCDC模块5 特殊引脚的处理1 前言在前面文章《小猫爪:i.MX RT1050学习笔记6-Low Power电源设计》中我们介绍了RT1050的电源模块,可以给RT1050提供非常丰富的电源管理操作,因为RT内部电源模块设计的复杂,所以外部电源的supply也相应的变得复杂,接下来我们就来简单介绍一下RT1050关于外部电源的设计。2 与电源相关的引脚下表列出了RT1原创 2020-10-19 16:59:52 · 2072 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记6-Low Power
小猫爪:i.MX RT1050学习笔记6-Low Power1 前言1 前言原创 2020-10-16 16:48:25 · 1810 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记5-中断NVIC
小猫爪:i.MX RT1050学习笔记5-中断NVIC1 前言2 中断号3 中断优先级分组和中断优先级4 相关操作函数5 应用实例5.1 RT1050 GPIO中断5.2 中断配置过程1 前言中断是一款MCU不可或缺的一部分,而RT1050则是搭载了非常强的中断系统。在这里不得不提一下NVIC(嵌套向量中断控制器),它是内核里面的一个模块,属于Cortex-M7内核,但是RT1050的NVIC其实是Cortex-M7里标准NVIC的阉割版,是一个子集。虽然是阉割版,但是也是非常强大了,其中系统异常有10原创 2020-09-29 17:53:48 · 1026 阅读 · 1 评论 -
小猫爪:i.MX RT1050学习笔记4-IO系统
小猫爪:i.MX RT1050学习笔记3-IO系统1 前言2 PAD2.1 IORING2.2 IOMUX2.3 IOMUXC3 GPIO4 应用实例1 前言在介绍GPIO之前,不得不先提一下IOMUX和IOMUXC,先简单的介绍一下IOMUX和IOMUXC的关系,简单的来说就是IOMUXC控制着IOMUX,两者相当于是RT1050的两个部件。2 PAD因为i.MX RT1050与i.MX6ULL源自一个平台,所外设基本上相同,所以在GPIO上也是沿用了i.MX6ULL一个机制。下图为IO的结构图。原创 2020-09-29 13:59:47 · 1542 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记3-CCM
小猫爪:i.MX RT1050学习笔记3-CCM1 前言2 CCM的结构3 CCM的时钟树4 CCM的具体功能4.1 生成时钟4.1.1 时钟源4.1.2 7个PLLs4.1.3 PFD4.1.4 LPCG1 前言时钟是MCU的心脏,每一款MCU都有自己的心脏,而CCM(Clock Control Module )模块就是RT1050的心脏,其生成和控制着整个MCU不同模块的时钟,同时还有这管理RT的低功耗模式。2 CCM的结构下图为CCM模块的结构图。从图中可以看到其实由几个模块共同组成,下面原创 2020-09-28 14:38:02 · 2165 阅读 · 0 评论 -
小猫爪:i.MX RT1050学习笔记2-下载
小猫爪:i.MX RT1050学习笔记2-下载1 前言2 Flashloader3 下载方式1 前言在前面介绍的RT启动,我们已经详细的对其启动原理以及过程进行了简单的介绍,接下来我们再继续介绍一下RT的下载。2 Flashloader有接触过MCU经验的人都知道下载程序无外乎有两种方法,以STM32为例,它可以支持通过仿真器的download形式将程序下载进去(SWD和JTAG),或者通过串口(UART)将程序烧录进去,但是不管是哪一种方式,其实在下载过程中都用到了一个工具程序,这个工具程序的作用原创 2020-09-27 11:18:08 · 1634 阅读 · 1 评论 -
小猫爪:i.MX RT1050学习笔记1-启动
小猫爪:i.MX RT1050学习笔记1-启动1 前言2 RT系列关于启动相关知识2.1 BootROM2.2 FUSE2.3 Bootable image2.4 RT的boot选项3 RT的启动过程1 前言毕业后正式进入嵌入式领域,初来乍到,接触的第一款MCU为NXP公司在2017年发布的跨界处理器I.MX系列芯片,如下为该系列芯片特征:2 RT系列关于启动相关知识i.MX RT与i.MX 6ULL是同一个平台产出,简单来时就是出了核心不一样,其他都是无比的雷同。所以其启动方式也是与i.MX 6原创 2020-09-25 17:41:29 · 2339 阅读 · 3 评论