摘要: 我们知道i.MXRT1xxx支持的外部Boot Device共有6种(Serial NOR&NAND、Parallel NOR&NAND、SD/eMMC、SPI NOR/EEPROM),其中最常用的是Serial NOR&NAND,目前各大社区里讨论最火的也是Serial NOR/NAND启动,有不少大神(硬汉eric2013, jicheng0622)已经写过关于Serial NOR&NAND启动的文章,写得非常好,这让痞子衡非常有压力,因此痞子衡决定第一篇Boot Device写较常用但还没有人写过的Raw(Parallel) NAND启动。 阅读全文
posted @ 2018-06-12 15:57 痞子衡 阅读(4720) 评论(0) 推荐(1) 编辑
摘要: 说到Raw NAND发展史,其实早期的Raw NAND没有统一标准,各厂商都是自由设计,因此尺寸不统一、存储结构差异大、接口命令不通用等问题导致客户使用起来很难受。为了改变这一现状,2006年几个主流的Raw NAND厂商(Hynix、Intel、Micron、Phison、Sony、ST)联合起来商量制订一个Raw NAND标准,这个标准叫Open NAND Flash Interface,简称ONFI,2006年12月ONFI 1.0标准正式推出,此标准一经推出大受欢迎,此后几乎所有的Raw NAND厂商都按照ONFI标准设计生产Raw NAND,从此Raw NAND世界清静了,不管哪家生产的Raw NAND对嵌入式设计者来说几乎都是一样的,至少在驱动代码层面是一样的,那么各厂商竞争优势在哪呢?主要在三个方面:数据存取速率、ECC能力、ONFI之外的个性化功能。 阅读全文
posted @ 2018-06-07 20:07 痞子衡 阅读(13808) 评论(1) 推荐(1) 编辑
摘要: i.MXRT1xxx没有内部FLASH,需要外接FLASH存储器以存储image。众所周知,FLASH从结构上分为NOR和NAND,i.MXRT启动同时支持这两种FLASH,NOR FLASH可以实现XIP,NAND FLASH不可以XIP,为了兼容所有FLASH,在设计i.MXRT bootable image格式时必须以非XIP这种情况为基准。既然是非XIP执行,即意味着i.MXRT上电时会将image从外接FLASH拷贝到内部SRAM中去执行,在拷贝时必不可免要知道两个重要的数据:image链接起始地址(决定image被拷贝到SRAM哪个地址)、image总长度(决定要从外部FLASH拷贝多长的image数据进SRAM),实际上除了这两个最基本的数据外还有其他更高级的数据(配置、安全等特性),因此存储在外接FLASH的i.MXRT Bootable image除了含有Application binary数据之外还必须含有额外的信息,这些额外的信息数据与Application binary共同组成i.MXRT Bootable image。 阅读全文
posted @ 2018-06-02 16:53 痞子衡 阅读(12745) 评论(47) 推荐(3) 编辑
摘要: eFUSE是i.MXRT1xxx里一块特殊的存储区域,用于存放全部芯片配置信息,其中有一部分配置信息和Boot相关。这块特殊存储区域并不在ARM的4G system address空间里,需要用特殊的方式去访问(读/写),如何访问eFUSE是本篇文章的重点。 阅读全文
posted @ 2018-05-29 22:06 痞子衡 阅读(11958) 评论(5) 推荐(2) 编辑
摘要: Flashloader程序主要是用来将你的Application下载进i.MXRT支持的所有外部非易失性存储器中,为后续从外部存储器启动做准备。BootROM只有启动Application功能,没有下载更新Application功能,而Flashloader最核心的就是下载更新Application功能,所以Flashloader是BootROM的完美补充。 阅读全文
posted @ 2018-05-28 09:39 痞子衡 阅读(8300) 评论(3) 推荐(1) 编辑
摘要: Serial Downloader模式是一种串行下载模式,在这种模式下,BootROM通过指定的USB或者UART口来接收来自Host(恩智浦提供了上位机工具sdphost.exe或者mfgtool)的Flashloader数据,并将数据存储在SRAM中执行,Flashloader程序可以用来将你的Application下载进i.MXRT1xxx支持的所有外部非易失性存储器中,为后续从外部存储器启动做准备。 阅读全文
posted @ 2018-05-27 15:29 痞子衡 阅读(8723) 评论(7) 推荐(1) 编辑
摘要: 无论是什么芯片里的BootROM,其最核心的功能无非两个:一、从存放Application的存储器中加载执行;二、通过支持的通信接口接收来自Host的Application数据完成更新,所以Boot配置也主要围绕这两个核心功能。今天痞子衡就来重点聊一聊i.MXRT1xxx Boot方式具体由哪些配置决定的。 阅读全文
posted @ 2018-05-14 09:31 痞子衡 阅读(12123) 评论(6) 推荐(3) 编辑
摘要: i.MXRT1xxx支持存储类型一共有三种:一是96KB的ROM(即BootROM)、二是总容量512KB的FlexRAM(OCRAM/DTCM/ITCM)、三是分配给外部存储器接口控制器(SEMC/QSPI)的2GB区域。i.MXRT Boot方式主要是借助BootROM从外部存储器加载Application到内部SRAM/外扩RAM/原地XIP启动。 阅读全文
posted @ 2018-05-13 11:48 痞子衡 阅读(12569) 评论(11) 推荐(2) 编辑
摘要: 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 ARM Cortex M指令集 。 指令集 指令长度(bits) 包含指令 CortexM0 CortexM0+ CortexM1 CortexM3 CortexM4 CortexM7 CortexM23 CortexM33 Thum 阅读全文
posted @ 2018-04-09 22:47 痞子衡 阅读(3784) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 J Link仿真器版本变迁 。 硬件版本 主控芯片 固件升级工具 V7 ARM7TDMI, 55MHz Atmel AT91SAM7S64 官方AT91 ISP SAM PROG V8 V9 ARM Cortex M3, 120MHz 阅读全文
posted @ 2018-04-01 21:20 痞子衡 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 大家都知道i.MX RT105x是i.MX RT系列第一款产品,在提这款产品特性的时候,我们往往说的是i.MXRT1052DVL6B的特性,这也是RT105x系列主推的一款核心芯片,目前一些第三方硬件公司(比如ZLG、野火、正点原子、安富莱)做的RT105x开发板基本上都是基于这款芯片,但其实i.MXRT105x共包含8款芯片,8款芯片之间其实是有差异的,这也涉及到具体芯片选型,今天痞子衡就给大家介绍这些差异。 阅读全文
posted @ 2018-03-25 20:26 痞子衡 阅读(2562) 评论(0) 推荐(0) 编辑
摘要: 一款i.MXRT1xxx芯片名字共有10部分组成,从芯片名字上我们主要可以得到五种有效信息,分别是所属子系列、温度范围、封装、最大运行频率等级、Tapeout版本。 阅读全文
posted @ 2018-03-18 21:02 痞子衡 阅读(1780) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是飞思卡尔i.MX RT1xxx系列MCU的性能-CoreMark 阅读全文
posted @ 2018-03-11 21:21 痞子衡 阅读(6331) 评论(15) 推荐(0) 编辑
摘要: 随着物联网IoT、边缘计算等市场对MCU性能要求越来越高。各芯片厂商也在不断推出性能越来越强的MCU,其中飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT1xxx系列更是进一步拉高了MCU的上限,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,单片价格低到3$,直接引爆众多MCU开发者的神经,今天痞子衡就来介绍一下这个i.MX RT1xxx系列MCU究竟是何方神圣。 阅读全文
posted @ 2018-03-03 22:39 痞子衡 阅读(5041) 评论(0) 推荐(0) 编辑
摘要: 职场经验与见闻感悟 痞子衡在嵌入式行业也摸打滚爬了不少年,有一些个人经验可以给大家参考。所谓他山之石可以攻玉,希望痞子衡的经验对大家的职场之路有所帮助。 职场经验篇(持续更新中...4/4) 职场上有效地向师傅请教问题的几点建议 关于做技术的工作态度方面的几点建议 工作多年的工程师且看这四条进阶之路 阅读全文
posted @ 2018-03-01 21:49 痞子衡 阅读(5590) 评论(11) 推荐(0) 编辑