痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU开发那些事 - 索引

546 阅读9分钟

  大家好,我是痞子衡,是正经搞技术的痞子。本系列痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列微控制器相关知识

  恩智浦半导体于2017年10月发布的i.MX RT1xxx系列开启了高性能MCU的新纪元,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,CoreMark跑分高达3020。

  本系列文章会逐一介绍i.MX RT1xxx系列微控制器开发相关知识。

资料篇(全1篇已完结)

史上最强i.MX RT学习资源汇总(持续更新中...)

芯闻篇(持续更新中...1/1)

终于可以放开聊一聊i.MXRT1170这颗划时代MCU了

介绍篇(全4篇已完结)

恩智浦i.MX RT1xxx系列MCU特性那些事(1)- 概览
恩智浦i.MX RT1xxx系列MCU特性那些事(2)- RT1052DVL6性能实测(CoreMark)
恩智浦i.MX RT1xxx系列MCU特性那些事(3)- 命名规则
恩智浦i.MX RT1xxx系列MCU特性那些事(4)- RT105x选型

硬件篇(持续更新中...7/7)

恩智浦i.MX RT1xxx系列MCU硬件那些事(1)- 官方EVK简介
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.1)- 玩转板载OpenSDA,Freelink调试器
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.2)- 在串行NOR Flash XIP调试原理
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.4)- 串行NOR Flash下载算法(Keil MDK篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.5)- 串行NOR Flash下载算法(IAR EWARM篇)
恩智浦i.MX RT1xxx系列MCU硬件那些事(2.6)- 串行NOR Flash下载算法(MCUXpresso IDE篇)

工具篇(持续更新中...17/17)

恩智浦SDK代码风格检查工具MCUXpresso-SDK-CodingStyleChecker
恩智浦MCU安全加密启动一站式工具NXP-MCUBootUtility用户指南
恩智浦MCU安全加密启动一站式工具NXP-MCUBootUtility常见问题
开启NXP-MCUBootUtility工具的HAB签名功能 - CST(中英双语)
开启NXP-MCUBootUtility工具的HAB加密功能 - CST(中英双语)
开启NXP-MCUBootUtility工具的BEE加密功能 - image_enc
恩智浦i.MX RT系列MCU量产神器NXP-MCUBootFlasher用户指南
恩智浦i.MX RT系列MCU量产神器NXP-MCUBootFlasher常见问题

如果i.MX RT是一匹悍马,征服它时别忘了用马镫MCUBootUtility
MCUBootUtility v2.0.0来袭,i.MXRT1010哪里跑
MCUBootUtility v2.3.0发布,这次不再放过任何一款Flash
MCUBootUtility v2.3.1发布,解决了长久以来非空flash可能无法下载的问题
MCUBootUtility v2.4.0发布,轻松更换Flashloader文件
MCUBootUtility v3.0.0发布,开始支持LPC, Kinetis啦
MCUBootUtility v3.3.0发布,可配合SBL项目使用

如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
MCUBootFlasher v3.0.0发布,为真实的产线操作场景而生

启动篇(持续更新中...15/24)

恩智浦i.MX RT1xxx系列MCU启动那些事(1)- Boot简介
恩智浦i.MX RT1xxx系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE)
恩智浦i.MX RT1xxx系列MCU启动那些事(3)- Serial Downloader模式(sdphost/MfgTool)
恩智浦i.MX RT1xxx系列MCU启动那些事(4)- Flashloader初体验(blhost)
恩智浦i.MX RT1xxx系列MCU启动那些事(5)- 再聊eFUSE及其烧写方法
恩智浦i.MX RT1xxx系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)
恩智浦i.MX RT1xxx系列MCU启动那些事(7)- 静态解密安全启动需知(HAB)
恩智浦i.MX RT1xxx系列MCU启动那些事(8)- 从Raw NAND启动
恩智浦i.MX RT1xxx系列MCU启动那些事(8.A)- SEMC NAND启动时间(RT1170)
恩智浦i.MX RT1xxx系列MCU启动那些事(9)- 从Parallel NOR启动
恩智浦i.MX RT1xxx系列MCU启动那些事(10)- 从Serial(Multi-IO) NAND启动
恩智浦i.MX RT1xxx系列MCU启动那些事(11)- 从Serial(Multi-IO) NOR启动
恩智浦i.MX RT1xxx系列MCU启动那些事(11.A)- FlexSPI NOR启动时间(RT1170)
恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1015/1020/1050)
恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1060/1064(SIP))
恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1010)
恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1024(SIP))
恩智浦i.MX RT1xxx系列MCU启动那些事(11.B)- FlexSPI NOR连接方式大全(RT1170/1160)
恩智浦i.MX RT1xxx系列MCU启动那些事(12)- 从SD/eMMC启动
恩智浦i.MX RT1xxx系列MCU启动那些事(13)- 从Serial(1-bit SPI) EEPROM/NOR恢复启动
恩智浦i.MX RT1xxx系列MCU启动那些事(13.A)- LPSPI NOR启动时间(RT1170)
恩智浦i.MX RT1xxx系列MCU启动那些事(14)- 动态解密安全启动需知(BEE)
恩智浦i.MX RT1xxx系列MCU启动那些事(15)- 动态解密安全启动需知(OTFAD)
恩智浦i.MX RT1xxx系列MCU启动那些事(16)- 终极一站式工具(NXP-MCUBootUtility)

外设篇(持续更新中...1/10)

恩智浦i.MX RT1xxx系列MCU外设那些事(1)- 时光飞船L1 Cache
恩智浦i.MX RT1xxx系列MCU外设那些事(2)- 百变星君FlexRAM
恩智浦i.MX RT1xxx系列MCU外设那些事(2.1)- FlexRAM注意事项
恩智浦i.MX RT1xxx系列MCU外设那些事(3)- 霸道总管CCM
恩智浦i.MX RT1xxx系列MCU外设那些事(4)- 外交部长IOMUXC
恩智浦i.MX RT1xxx系列MCU外设那些事(5)- 计时达人GPT
恩智浦i.MX RT1xxx系列MCU外设那些事(6)- 减负大师eDMA
恩智浦i.MX RT1xxx系列MCU外设那些事(7)- 万能仓管FlexSPI
恩智浦i.MX RT1xxx系列MCU外设那些事(8)- 万能仓管SEMC
恩智浦i.MX RT1xxx系列MCU外设那些事(9)- 知名翻译ADC

安全篇(持续更新中...0/5)

恩智浦i.MX RT1xxx系列MCU安全那些事(1)- 数据协处理器DCP
恩智浦i.MX RT1xxx系列MCU安全那些事(2)- 综合加解密引擎CAAM
恩智浦i.MX RT1xxx系列MCU安全那些事(3)- 总线AES解密引擎BEE
恩智浦i.MX RT1xxx系列MCU安全那些事(4)- 动态AES解密引擎OTFAD
恩智浦i.MX RT1xxx系列MCU安全那些事(5)- 内联加解密引擎IEE

经验篇(持续更新中...36/39)

类别文章
系统启动理解i.MXRT1xxx上的XIP和Non-XIP App制作、下载、启动、调试上的差异 在i.MXRT1xxx上设计一个level2 bootloader实现App分散加载启动 使用i.MXRT1xxx ROM Flashloader工具生成bootable image的注意事项 IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞 16MB以上NOR Flash使用不当可能会造成软复位后i.MXRT无法正常启动 导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之SFDP 导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之QE bit 导致串行NOR Flash在i.MXRT下无法正常下载/启动的常见因素之Write Protection 深入i.MXRT1050系列ROM中串行NOR Flash启动初始化流程 了解i.MXRT1060系列ROM中串行NOR Flash启动初始化流程优化点 自识别特性(Auto Probe)可以让i.MXRT1060无需FDCB也能从NOR Flash启动 从头开始认识i.MXRT启动头FDCB里的lookupTable 在i.MXRT启动头FDCB里调整Flash工作频率也需同步设Dummy Cycle (以IS25WP128D为例) 在i.MXRT启动头FDCB里使能串行NOR Flash的DTR模式 在i.MXRT启动头FDCB里使能串行NOR Flash的Continuous read模式 系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败 FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败
在线升级利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可轻松IAP 其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API 利用i.MXRT1060,1010上新增的FlexSPI地址重映射(Remap)功能可安全OTA 可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信
仿真调试IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link/DAPLink)
双核通信大话双核i.MXRT1170之Cortex-M7与Cortex-M4互相激活之道
外存扩展同一厂商不同系列Flash型号下Dummy Cycle设置方法可能有差异 (以IS25LP064A为例) 在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试 分享一个i.MXRT系列配套DRAM压力测试上位机工具(i.MXRT DRAM Tester)
性能分析链接函数到8字节对齐地址或可进一步提升i.MXRT1xxx内核执行性能 i.MXRT中FlexSPI外设对AHB Burst Read特性的支持 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(无缓存) 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(有预取) 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(全加速)
图形显示记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇) 记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(解答篇) 降低刷新率是定位LCD花屏显示问题的第一大法(i.MXRT1170, 1280x480 LVDS)
安全可靠简析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特点、开启步骤、性能影响 简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响 揭秘i.MXRT1170 eFuse空间访问可靠性的保护策略(冗余与ECC) SNVS Master Key仅在i.MXRT10xx Hab关闭时才能用于DCP加解密 利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache

项目篇(持续更新中...6/7)

kFlashFile - 一个基于Flash的掉电数据存取方案
RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计
超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM内核下
超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号
超级下载算法(RT-UFL)开发笔记(3) - 统一FlexSPI驱动访问
超级下载算法(RT-UFL)开发笔记(4) - 轮询Flash配置参数
超级下载算法(RT-UFL)开发笔记(5) - 动态调整FlashDevice内容

标准篇(持续更新中...7/9)

微控制器CPU性能测试基准(EEMBC-CoreMark)
并行NAND接口标准(ONFI)及SLC Raw NAND简介
并行NAND互操作性标准(JESD230)
并行NOR接口标准(CFI-JESD68)及SLC Parallel NOR简介
串行EEPROM接口事实标准及SPI EEPROM简介
串行NOR接口标准(SFDP-JESD216)及QuadSPI NOR简介
高速串行NOR兼容性标准(xSPI-JESD251)及OctalSPI/HyperBus NOR简介
串行NOR Flash的DQS信号功能简介
内存读写正确性压力测试程序(memtester)