大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是FlexSPI外设对AHB Burst Read特性的支持. 痞子衡之前写过一篇关于FlexSPI LUT的文章 <从头开始认识i.MXRT启动头FDCB里的lookupTable>,这个LUT机制是i.MXRT上能够实现对串行NOR Flash进行AHB读访问的原因(也是程序能够XiP原地执行的基础).那篇文章的最后留了一个小伏笔,即FlexSPI的Prefetch不使能,SEQ_CTL工作一次获取的数据由AHB Burst R…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项. 最近痞子衡在支持一个印度客户,这个客户项目主芯片选择的是恩智浦 i.MXRT1176,客户设计板子时选择将四线 NOR Flash 挂在了主芯片 FlexSPI2 2nd Pinmux( GPIO_SD_B1[05:00] )上,选择这组引脚当然是可以的,但客户在使用恩智浦配套下载工具以及 SDK 例程时发现无法正常使用,体验上跟默认 FlexSPI…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是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…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中FlexSPI外设不常用的读选通采样时钟源 - loopbackFromSckPad. 最近碰到一个客户,他们在 i.MXRT500 上使能了 FlexSPI->MCR0[RXCLKSRC] = 2(即 loopbackFromSckPad),这个选项字面上的意思是设置读选通采样时钟源为 SCK 引脚,这个选项在恩智浦官方的代码包里未曾使能过.客户在使用过程中遇到高频时 SCK 引脚被降压的问题(从正常的 1.8V 降…
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们知道i.MXRT没有内置非易失性存储器,一般都要外挂一块存储器用于加载启动,最常用的是通过FlexSPI外设外挂串行NOR Flash,挂了NOR Flash我们既可以离线启动,也可以在线调试,而在线调试就必然离不开下载算法. 因为是外挂Flash,所以下载算法需要根据Flash的连接以及型号而定,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败问题. 本篇是<系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败> 的后续篇,我们为i.MXRT1010解决了OTFAD时钟配置限制问题后,加密的App就一定能正常跑了吗?其实并不一定,如果你的App跟IAP有关(即会调用FlexSPI驱动去擦写Flash),免不了会在FlexSPI驱动里操作FlexSPI外设寄存器的软复位位,软复位操作…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1062 TencentOS Tiny EVB_AIoT开发板在Flash调试与离线启动. 腾讯 TencentOS 团队于2021年12月8日联合恩智浦半导体.安谋科技发起了一个线上开发者活动 - TencentOS Tiny AIoT 应用创新大赛.为了这个大赛,腾讯 TencentOS 团队联合恩智浦半导体.厚德物联网设计了一款高性能 AIoT 评估板,用于 TencentOS tiny 基础内核和 AIoT 应用…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT上进一步提升代码执行性能的经验. 今天跟大家聊的这个话题还是跟痞子衡最近这段时间参与的一个基于i.MXRT1170的大项目有关,痞子衡在做其中的开机动画功能,之前写过一篇文章 <降低刷新率是定位LCD花屏显示问题的第一大法> 介绍了开机动画功能的实现以及LCD显示注意事项,在此功能上,痞子衡想进一步测试从芯片上电到LCD屏显示第一幅完整图像的时间,这个时间我们暂且称为1st UI时间,该时间的长短对项目有重要意义. 痞…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是为i.MXRT设计更新Segger J-Link Flash下载算法文件. 想要在Flash中调试,基本是离不开Flash下载算法的,毕竟要先将代码烧写进Flash,然后才能调试.主流MCU开发环境(MCUX / IAR / Keil)以及调试工具(J-Link)的Flash下载算法设计思路基本都差不多,简单的说,就是把Flash擦写操作的底层驱动代码可执行文件通过JTAG/SWD预先加载到MCU内部RAM里,然后继续从JTAG/S…