大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列里暗藏的Product ID寄存器. MCU 厂商在定义一个产品系列时,通常是会预先规划产品发展路线的(即会有一大波 MCU 型号面世,各型号间特性有差异),因此 MCU 内部一般都会有一个专门的只读寄存器用以存放 Product ID 值,应用程序可读取这个 ID 值来识别当前 MCU 型号,这样在设计软件时可以让代码在这个 MCU 系列上通用,从而方便项目做 MCU 型号更换升级. 前段时间,痞子衡做了一…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是对比i.MXRT与LPC在RTC外设GPREG寄存器使用上的异同. 本篇是 <在SBL项目实战中妙用i.MXRT1xxx里SystemReset不复位的GPR寄存器> 一文的延续,SBL 项目是为 i.MXRT/LPC 系列设计的,上文只介绍了 i.MXRT1xxx 里 SystemReset 不复位的 IOMUXC_SNVS_GPR 寄存器,我们需要在 i.MXRTxxx 和 LPC 中也找出 SystemReset 不复位的通…
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是恩智浦LPC系列微控制器相关知识. 恩智浦半导体最早于2003年便开始推出LPC系列MCU,但早期的产品LPC2000/3000系列属于ARM7/9内核的产品,直到2008年开始推出的LPC1800系列标志着恩智浦也加入了ARM Cortex-M MCU阵营,LPC18xx系列MCU,搭载Cortex-M3内核,主频最高可达180MHz. LPC芯片家族发展至今(2017)出现过很多家族成员系列:800/1100/1200/130…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞问题的分析解决经验. 事情缘起恩智浦官方论坛上的一个疑问帖 <RT1015 dev_cdc_vcom_freertos reset entry failed>,这是客户QISDA遇到的问题,由痞子衡的同事 - 非常细心负责的Kerry小姐姐将问题整理出来并发了贴,帖子里做了详尽的问题描述以及各种测试结果.看完长帖后,痞子衡第一猜想就是跟App栈设…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT系列ROM中的FlexSPI驱动API实现IAP. 痞子衡的技术交流群里经常有群友提问: i.MXRT中的FlexSPI驱动API到底怎么用啊?这个问题已经出现过好几次了,本来痞子衡不打算专门为这个写文章的,因为这部分内容在芯片手册System Boot章节里的最后一节ROM APIs里其实介绍得非常详细了,但是既然还是有不少朋友在问这个,看起来手册里的内容藏得有点深,这么好的东西被埋没太可惜了,那么今天痞子衡就跟大家再…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM API设计细节. 痞子衡之前写过两篇文章 <利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可轻松IAP>.<其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API> 基本把i.MXRT1xxx全系列的ROM API及其FlexSPI NOR驱动设计都讲清楚了,其实i.MXRTxxx系列的ROM API设计跟i.MXR…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败问题. 我们知道,i.MXRT1xxx家族早期型号(RT1050/RT0160/RT1020)的硬件解密外设名字叫BEE,这个外设主要是配合FlexSPI外设去实现外接串行NOR Flash在线解密XIP执行用的.而到了最近的i.MXRT1xxx新型号(RT1010/RT1170)上,BEE外设被替换成了OTFAD外设,功能不变,解密效率得到了很大提升,但客户在使…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache. 关于i.MXRT1xxx系列内部通用数据协处理器DCP模块,痞子衡之前写过一篇文章 <SNVS Master Key仅在i.MXRT10xx Hab关闭时才能用于DCP加解密> 介绍了DCP基本功能和AES加解密使用注意事项,实际上DCP模块除了对AES加解密算法支持外,还支持经典的Hash算法(SHA-1/SHA-256/CRC32).…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列MCU时钟相关功能引脚作用. 如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源.时钟.外设功能.作为嵌入式开发者,大部分时候关注得都是外设功能引脚,而对于时钟相关引脚往往不太在意,其实有些时候利用时钟功能引脚也能助你定位问题.今天痞子衡就带你梳理一下 i.MXRT1xxx 系列的时钟系统以及相关功能引脚: 一.时钟系统简介 目前 i.MXRT1xxx 系列主要分为 i.MXRT10…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx里SystemReset不复位的GPR寄存器的小妙用. 我们知道稍大规模的项目代码设计一般都是多人协作完成的,在项目开始阶段的总体设计时,项目组长通常会将代码按功能进行划分,每个功能块代码之间尽量做到耦合度低.互不依赖.互不影响,这样各功能可以独立进行单元测试,项目得以并行开发,后期通过事先定义好的接口/协议进行功能块集成即可. 但上述方法在嵌入式软件项目里有时候会遇到功能块集成后互相干扰的问题,因为嵌入式项目很…