大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔i.MX RT系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列开启了高性能MCU的新纪元,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,CoreMark跑分高达3020. 本系列文章会逐一介绍i.MX RT系列微控制器开发相关知识. 介绍篇(持续更新中...4/4) 飞思卡尔i.MX RT系列MCU特性介绍(1)- 概览 飞思卡尔i.M…
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是恩智浦i.MX RTxxx系列微控制器相关知识. 恩智浦半导体于2018年10月发布的i.MX RTxxx系列开启了ML/AI MCU的新纪元,其第一款芯片i.MX RT685,搭载一颗主频高达300MHz的Cortex-M33内核,以及一颗主频高达600MHz的Cadence Tensilica HiFi4 DSP.主要面向实时机器学习(ML)/人工智能(AI)应用. 本系列文章会逐一介绍i.MX RTxxx系列微控制器开发相关…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的基本特性. 恩智浦半导体于2017年开始推出的i.MX RT系列重新定义了MCU,其第一款芯片i.MX RT1052,主频高达600MHz,直接引爆众多MCU开发者的神经.如今i.MX RT发布已近三年,陆续推出了9款型号,细心的你会发生其实际上已经衍生为两大阵营,分别是CM7内核的i.MX RT1xxx系列(RT1010/1015/1020/1050/1060/1064/1170)和CM33内…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别.在前面的文章里,痞子衡分别介绍过<J-Link下算法设计>.…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE/工具都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别,今天痞子衡就来细聊J-Link下的NOR Flash下载算法: 一.J-Link各版本…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Keil MDK工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE/工具都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别.上一篇痞子衡介绍了<J-Link下算法设计>,今天痞子衡就来细聊Kei…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是IAR开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XIP调试原理>一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并没有介绍具体设计细节,关于NOR Flash下载算法每个IDE都有自己的一套设计,虽然基本设计理念是一样的,但是细节方面还是有区别.在前面的文章里,痞子衡分别介绍过<J-Link下算法设计>.<Keil MD…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的基本特性. ARM Cortex-M微控制器芯片厂商向来竞争激烈,具体可参看我的另一篇文章<第一款Cortex-M微控制器>,其中意法半导体凭借高性价比的STM32系列牢牢占据市场主要份额,但随着物联网IoT.边缘计算等市场对MCU性能要求越来越高.各芯片厂商也在不断推出性能越来越强的MCU,其中飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列更是进一步拉高了MCU的上限,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的命名规则. 打开任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名规则表,以i.MXRT105x芯片的Data Sheet为例: 一款芯片名字共有以上10部分组成,RT系列芯片家族目前成员不多,上表仅适用于i.MXRT105x.i.MXRT102x.从芯片名字上我们主要可以得到五种有效信息,分别是所属子系列.温度范围.封装.最大运行频率等级.Tapeout版本. 不过从芯片名字上能…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的RT105x选型. 大家都知道i.MX RT105x是i.MX RT系列第一款产品,在提这款产品特性的时候,我们往往说的是i.MXRT1052DVL6B的特性,这也是RT105x系列主推的一款核心芯片,目前一些第三方硬件公司(比如ZLG.野火.正点原子.安富莱)做的RT105x开发板基本上都是基于这款芯片,但其实i.MXRT105x共包含8款芯片,8款芯片之间其实是有差异的,这也涉及到具体芯片选型,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的BootROM功能简介. 截止目前为止i.MX RT系列已公布的芯片有三款i.MXRT105x, i.MXRT102x, i.MXRT106x,所以本文的研究对象便是这三款芯片,从参考手册来看,这三款芯片的BootROM功能差别不大,所以一篇文章可以概括这三款芯片的BootROM特性. 一.Boot基本原理 1.1 从内部FLASH启动 Boot是任何一款MCU都有的特性.提及Boot,首先应该联想…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRT Boot方式简介.今天痞子衡就来重点聊一聊i.MXRT Boot方式具体由哪些配置决定的. 无论是什么芯片里的BootROM,其最核心的功能无非两个:一.从存放Application的存储器中加载执行:二.通过支持的通信接口接收来自Host的Application数据完成更新,所以Boot配置也主要围绕…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的划时代新品i.MXRT1170. 自2017年开始,每年的6月25日恩智浦都会在北京举行微控制器业务媒体交流会,到今年(2019)已经是第三次了.每年的媒体交流会上,恩智浦的高级副总裁Geoff Lees都会给大家带来最新的产品消息. 2017年Geoff给大家科普了FD-SOI工艺以及正式推出跨界处理器第一款产品i.MXRT1050: 2018年Geoff给大家带来了i.MXRT1060和…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的基本特性. ARM Cortex-M微控制器芯片厂商向来竞争激烈,具体可参看我的另一篇文章<第一款Cortex-M微控制器>,其中意法半导体凭借高性价比的STM32系列牢牢占据市场主要份额,但随着物联网IoT.边缘计算等市场对MCU性能要求越来越高.各芯片厂商也在不断推出性能越来越强的MCU,其中飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列更是进一步拉高了MCU…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的配套EVK板. 半导体设计厂商发布任何一块MCU芯片新品,一般都会同步推出基于这款MCU的配套评估板,评估板有很多好处:一.根据评估板上的资源,官方配套软件开发包里的例程可以变得更丰富,也更贴近客户真实应用需求:二.评估板可以方便客户快速验证MCU芯片的功能与性能,以确定MCU芯片客户是否能够胜任客户项目的需求:三.评估板上的电路设计可供客户参考,以而加速客户项目的板卡设计. 飞思卡尔(现恩…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子衡提到了OTP,部分Boot配置都存储在OTP memory里,但是对OTP的介绍仅仅浅尝辄止,没有深入,今天痞子衡就为大家再进一步介绍OTP. OTP是i.MXRTxxx里一块特殊的存储区域,用于存放全部芯片配置信息,其中有一部分配置信息和Boot相关.这块特殊存储区域并不在ARM的4G syst…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的BootROM功能简介. 截止目前为止i.MX RTxxx系列已公布的芯片仅有一款i.MXRT600(还有几款正在研发测试之中),所以本文的研究对象主要是i.MXRT600,i.MXRT600是i.MXRTxxx系列的开山之作,功能模块非常全面,其BootROM特性基本可以涵盖i.MXRTxxx系列特性. 一.Boot基本原理 关于Boot基本原理,痞子衡在 <飞思卡尔i.MX RTyyyy系列…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRTxxx Boot方式简介.今天痞子衡就来重点聊一聊i.MXRTxxx Boot方式具体由哪些配置决定的. 无论是什么芯片里的BootROM,其最核心的功能无非两个:一.从存放Application的存储器中加载执行:二.通过支持的通信接口接收来自Host的Application数据完成更新或直接跳转执…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列EVK上板载调试器的用法. 本文是i.MXRT硬件那些事系列第二篇,第一篇痞子衡给大家整体介绍了i.MXRT官方EVK,从本文开始痞子衡将细聊EVK上的组件,今天要讲的是一个非常经典而且常用的组件 - 板载调试器.如今各大半导体厂商推出的EVK基本都会配置自己家设计的板载调试器,方便客户开箱即用,不需要自己额外准备仿真器.众所周知,在嵌入式开发里调试器的作用是非常巨大的,用好调试器可以事半功倍.那么…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列EVK在串行NOR Flash调试的原理. 本文是i.MXRT硬件那些事系列第二篇的续集,在第二篇首集中痞子衡给大家详细介绍了EVK板载调试器用法,有了调试器在手,从此调试不用愁.从调试代码所在目标存储器类别上来分,调试一般分为在SRAM调试和在Flash调试.在SRAM调试实现比较简单,程序直接从JTAG/SWD口灌进RAM即可:在Flash调试,则相对复杂一点,因为首先需要有Flash下载算法,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的性能. 在前面的文章 i.MXRT微控制器概览 里,痞子衡给大家简介过恩智浦半导体在2017年推出的新一代跨界微控制器i.MX RT系列,该系列第一款芯片i.MXRT105x性能完爆同时期市面上所有的微控制器,官方公布的CoreMark跑分高达3020,有人可能不明白这个数字意味着什么,作为对比,我们再来看看意法半导体最流行的芯片STM32F103RB,它的CoreMark是108(此处应该有类似M…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Serial Downloader模式. 在上一篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子衡为大家介绍了i.MXRT Boot的行为配置,其中第一节里讲了Boot有三种行为模式:Serial Downloader.Boot From Fuses.Internal Boot,后两种是核心的加载启动行为模式,而Serial Downloder看起来是个次要的模式,那么Serial D…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Flashloader. 在上一篇文章 Serial Downloader模式(sdphost, mfgtool) 里痞子衡为大家介绍了i.MXRT Boot的Serial Downloader模式,这种模式主要是用来引导启动Flashloader,那么Flashloader到底具有哪些功能?这是本篇文章痞子衡要为大家解惑的主题. 痞子衡在前面提过Flashloader程序主要是用来将你的Appli…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的eFUSE. 在i.MXRT启动系列第二篇文章 Boot配置(BOOT Pin, eFUSE) 里痞子衡提到了eFUSE,部分Boot配置都存储在eFUSE memory里,但是对eFUSE的介绍仅仅浅尝辄止,没有深入,今天痞子衡就为大家再进一步介绍eFUSE. eFUSE是i.MXRT里一块特殊的存储区域,用于存放全部芯片配置信息,其中有一部分配置信息和Boot相关.这块特殊存储区域并不在ARM的…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Bootable image格式与加载过程. 在i.MXRT启动系列第三篇文章 Serial Downloader模式(sdphost, mfgtool) 里痞子衡在介绍使用sdphost引导启动Flashloader时使用过一个名叫ivt_flashloader.bin的image文件,其实这个image文件就是Bootable image的一种,虽然痞子衡简单分析过ivt_flashloader…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Raw NAND启动. 前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了,我们知道i.MXRT支持的外部Boot Device共有6种(Serial NOR&NAND.Parallel NOR&NAND.SD/eMMC.SPI NOR/EEPROM),其中最常用的是Serial NOR&NAND,目前各大社区里讨论最火的也是Serial NOR/NAND启动,有不少大神…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Parallel NOR启动. 上一篇讲i.MXRT从Raw NAND启动的文章 从Raw NAND启动 一经放出,深入广大网友喜爱,短时间内阅读量飙升,这让痞子衡深入鼓舞,所以趁热打铁继续把从Parallel NOR启动也顺便一起讲了,为什么说是顺便呢?因为Parallel NOR与Raw NAND都是并行接口,属于同一门派,且这两种外存设备在i.MXRT内部是通过同一IP(SEMC)实现底层接口…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Serial EEPROM/NOR恢复启动. 在前几篇里痞子衡介绍的Boot Device都属于主动启动的Primary Boot Device(Serial NOR/NAND, Parallel NOR/NAND, SD/eMMC),试想一下如果遇到这样的情况,你选择启动的某个Primary Boot Device正常工作一段时间后某次开机突然因为某种未知原因无法启动了,此时系统无法正常工作,但如…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的性能. 在前面的文章 i.MXRTyyyy微控制器概览 里,痞子衡给大家简介过恩智浦半导体在2017年推出的新一代跨界微控制器i.MX RTyyyy系列,该系列第一款芯片i.MXRT105x性能完爆同时期市面上所有的微控制器,官方公布的CoreMark跑分高达3020,有人可能不明白这个数字意味着什么,作为对比,我们再来看看意法半导体最流行的芯片STM32F103RB,它的CoreMark是…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的FlexRAM外设. 本文是外设系列第二篇,上一篇讲的是离内核最近的高速缓存L1 Cache,今天咱们聊离内核第二近的静态内存SRAM.众所周知,i.MXRT系列内部没有非易失性存储器,但内部SRAM还是必备的,这个SRAM可用于存放data.Stack.Heap段或者Non-XIP代码text段等.我们知道Cortex-M7架构引入了TCM属性的静态内存,以Cortex-M7为内核的i.M…