大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT下改造FlexSPI driver以AHB方式去写入NOR Flash. 痞子衡前段时间写过一篇 <串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP>,文章里介绍了 NAND Flash 的 Page Read 等待特性(发完 Read 命令后需要回读 Flash 内部状态寄存器 Busy 位来判断 Page 数据是否已准备好)导致其无法像 NOR Flash 那样通过 AHB 方式被…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT全系列下FlexSPI外设AHB Master ID定义与AHB RX Buffer指定的异同. 因为 i.MXRT 全系列型号都不含内部 Flash(部分 SIP 版本除外),因此用于连接外部 NOR Flash 的 FlexSPI 外设格外受宠.为了提高代码在 Flash 的原地执行效率,恩智浦设计团队为 FlexSPI 赋予了 Prefetch 特性用来加速访问效率(用 AHB RX Buffer 缓存数据). 痞…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-EVK 和 MIMXRT685-EVK 上搭载了一颗来自 MXIC 的 MX25UM51345G,这是一款比较典型的 Octal Flash,在 i.MXRT 下去下载和启动这款 Flash 并没有什么特别的地方,官方 SDK 及工具链里做了完善支持. 近期有客户做板卡设计时选到了一颗同样来自 MXI…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项. 痞子衡前段时间写过一篇小文<为i.MXRT设计更新Segger J-Link Flash下载算法文件>,介绍了痞子衡在github上的开源i.MXRT下载算法项目,这个项目收集了几乎所有i.MXRT型号的J-Link flash下载算法源工程,基于这个源工程可以很轻松修改生成不同flash的算法文件用于各大IDE以及J-Flash.今天痞子衡就来介绍…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下在线调试时使用不同复位策略的现象总结. 本篇实际上是<IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致>的同系列篇,计划中痞子衡是要把几大经典IDE(IAR EWARM.Keil MDK.MCUXpresso IDE)下的复位策略都写一遍,但一直没抽出时间.今天痞子衡恰好帮助一位印度同事解决了在客户板子上使用MCUXpresso在线调试的问题,因此顺便认真研究了下MCUXpress…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是FlexSPI外设对AHB Burst Read特性的支持. 痞子衡之前写过一篇关于FlexSPI LUT的文章 <从头开始认识i.MXRT启动头FDCB里的lookupTable>,这个LUT机制是i.MXRT上能够实现对串行NOR Flash进行AHB读访问的原因(也是程序能够XiP原地执行的基础).那篇文章的最后留了一个小伏笔,即FlexSPI的Prefetch不使能,SEQ_CTL工作一次获取的数据由AHB Burst R…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下将应用程序RW段分散链接的几种方法. 早期的 MCU 芯片,一般都会嵌入内部 Flash 和 RAM,并且 Flash 和 RAM 都只有一块(即均在连续的映射地址范围内),因此在链接应用程序时处理比较简单,程序 RO 段全部放在单一 Flash 空间,程序 RW 段全部放在单一 RAM 空间即可. 随着时代发展,现在的 MCU 越来越高端了,比如那些 Cortex-M7 内核的 MCU 中(最典型的代…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设. 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地定位和分析程序问题.在嵌入式应用设计里实现打印信息输出的方式有很多,本系列将以 IAR 环境为例逐一介绍 ARM Cortex-M 内核 MCU 下打印信息输出方法. 本篇是第一篇,我们先介绍最常见的输出打印信息方式,即利用 MCU 芯片内的硬件 UART 外设.本篇其实并不是要具体介绍 UART…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之半主机(Semihosting). 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地定位和分析程序问题.在嵌入式应用设计里实现打印信息输出的方式有很多,本系列将以 IAR 环境为例逐一介绍 ARM Cortex-M 内核 MCU 下打印信息输出方法. 上一篇文章 <IAR下调试信息输出机制之硬件UART外设> 里我们介绍了利用 MCU 芯片内的硬件 UART 外设…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中FlexSPI外设不常用的读选通采样时钟源 - loopbackFromSckPad. 最近碰到一个客户,他们在 i.MXRT500 上使能了 FlexSPI->MCR0[RXCLKSRC] = 2(即 loopbackFromSckPad),这个选项字面上的意思是设置读选通采样时钟源为 SCK 引脚,这个选项在恩智浦官方的代码包里未曾使能过.客户在使用过程中遇到高频时 SCK 引脚被降压的问题(从正常的 1.8V 降…