--------------------------------------------------------------------------------------
职场经验与见闻感悟
痞子衡在嵌入式行业也摸打滚爬了不少年,有一些个人经验可以给大家参考。所谓他山之石可以攻玉,希望痞子衡的经验对大家的职场之路有所帮助。
职场经验篇(持续更新中…4/4)
职场上有效地向师傅请教问题的几点建议
关于做技术的工作态度方面的几点建议
工作多年的工程师且看这四条进阶之路
读工程师岗位工作31年退休的同事离职信有感
博文总结篇(持续更新中…8/8)
Farewell, 我的写博故事2016-2019
Farewell, 我的写博故事2020
博文总量终于追平了中文Kinetis博客第一人jicheng0622
博客园积分排名终于挤进了前3000名榜单
Farewell, 我的写博故事2021
入选了2021年度与非网(eefocus)星选创作者Top10
Farewell, 我的写博故事2022
拿到了CSDN博客专家实体证书
社区活动篇(持续更新中…3/3)
被邀请做贸泽电子&与非网联合推出的《对话工程师》节目嘉宾
被邀请做科锐国际旗下数科同道主办的技术沙龙嘉宾
被邀请做嵌入式联盟主办的职场奇葩说(上海站)辩手
NXP岁月篇(持续更新中…6/6)
当选了2019年度恩智浦官方论坛i.MXRT板块的顶级贡献者
关于恩智浦入驻B站的一些思考
三个小项目陆续上线恩智浦官方Github
为2021 TencentOS Tiny AIoT应用创新大赛做了场直播培训
在恩智浦度过职业生涯第一个十年
AppCodeHub – 一站网罗恩智浦MCU应用程序
--------------------------------------------------------------------------------------
嵌入式半月刊
从2020年2月份开始我将为大家带来《痞子衡嵌入式半月刊》,分享嵌入式领域有用有趣的工具或项目以及一些热点新闻。
做这个半月刊主要是受硬汉哥的《安富莱嵌入式周报》 影响,硬汉哥每周都会整理这一周嵌入式领域发生的热点新闻分享给大家,而我这个半月刊主要侧重收集嵌入式领域有用的工具或项目。另外我也受削微寒女神的 《HelloGitHub》项目的影响,希望把这个嵌入式半月刊做成一个开源项目,集众人之力。
《痞子衡嵌入式半月刊》项目地址是 pzh-mcu-bi-weekly,大家如果知道或者发现好的嵌入式工具或项目,欢迎给我提 issue。
2020庚子鼠年
第 001 期 | 第 002 期 | 第 003 期 | 第 004 期 | 第 005 期 | 第 006 期
第 007 期 | 第 008 期 | 第 009 期 | 第 010 期 | 第 011 期 | 第 012 期
第 013 期 | 第 014 期 | 第 015 期 | 第 016 期 | 第 017 期 | 第 018 期
第 019 期 | 第 020 期 | 第 021 期 | 第 022 期 | 第 023 期 | 第 024 期
2021辛丑牛年
第 025 期 | 第 026 期 | 第 027 期 | 第 028 期 | 第 029 期 | 第 030 期
第 031 期 | 第 032 期 | 第 033 期 | 第 034 期 | 第 035 期 | 第 036 期
第 037 期 | 第 038 期 | 第 039 期 | 第 040 期 | 第 041 期 | 第 042 期
第 043 期 | 第 044 期 | 第 045 期 | 第 046 期 | 第 047 期 | 第 048 期
2022壬寅虎年
第 049 期 | 第 050 期 | 第 051 期 | 第 052 期 | 第 053 期 | 第 054 期
第 055 期 | 第 056 期 | 第 057 期 | 第 058 期 | 第 059 期 | 第 060 期
第 061 期 | 第 062 期 | 第 063 期 | 第 064 期 | 第 065 期 | 第 066 期
第 067 期 | 第 068 期 | 第 069 期 | 第 070 期 | 第 071 期 | 第 072 期
2023癸卯兔年
第 073 期 | 第 074 期 | 第 075 期 | 第 076 期 | 第 077 期 | 第 078 期
第 079 期 | 第 080 期
--------------------------------------------------------------------------------------
嵌入式从业者应知应会知识点
嵌入式开发需要掌握的知识点非常多,不同的技术方向有不同的知识侧重点,本系列试图整理总结嵌入式开发(尤其是软件)中那些必须要会的知识点,试图给你呈现一幅嵌入式界的清明上河图,本系列计划连更十年,且让时间给答案。
计算机原理篇(持续更新中…1/2)
不可不知的计算机原理知识(1)- 整数表示(原码,反码,补码)
不可不知的计算机原理知识(2)- 浮点数表示
嵌入式碎片集(持续更新中…9/10)
嵌入式里堆栈原理及其纯C实现
ARM Cortex-M内核下字节对齐访问问题
嵌入式里通用微秒(microseconds)计时函数框架设计与实现
嵌入式里串口(UART)自动波特率识别程序设计与实现(中断)
嵌入式里串口(UART)自动波特率识别程序设计与实现(轮询)
嵌入式Cortex-M中标准的三重中断控制设计
嵌入式Cortex-M裸机环境下临界区保护的三种实现
嵌入式Cortex-M中断向量表原理及其重定向方法
嵌入式Cortex-M中断向量表对齐原则的深入研究
嵌入式Cortex-M系统中断延迟及其测量方法简介
代码规范篇(持续更新中…4/4)
开源软件协议(MIT/BSD/Apache/LGPL/MPL/GPL)
飞思卡尔半导体软件开发C代码规范
恩智浦SDK驱动代码风格、模板、检查工具
恩智浦SDK驱动代码风格检查工具预览版
数据差错控制篇(持续更新中…3/6)
常用的数据差错控制技术(1)- 重复校验(Repetition Code)
常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
常用的数据差错控制技术(3)- 和校验(Checksum)
常用的数据差错控制技术(4)- 循环冗余校验(CRC)
常用的数据差错控制技术(5)- 汉明码校验(Hamming Code SEC-DED)
常用的数据差错控制技术(6)- 博斯-乔赫里-霍克文黑姆码校验(BCH Code)
Keil MDK知识篇(持续更新中…2/2)
一个奇怪的Keil MDK下变量链接强制对齐报错问题(–legacyalign)
在MDK开发环境下将关键函数重定向到RAM中执行的几种方法
IAR EWARM知识篇(持续更新中…12/12)
在IAR开发环境下为工程开启CRC完整性校验功能的方法
探析开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序
一次利用IAR自带CRC完整性校验功能的实践(为KBOOT加BCA)
在IAR开发环境下将关键函数重定向到RAM中执行的三种方法
在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法
在IAR开发环境下RT-Thread工程自定义函数段重定向失效分析
深扒IAR启动函数流程及其__low_level_init设计对函数重定向的影响
深扒IAR启动函数流程之段初始化函数__iar_data_init3实现
深扒IAR启动函数流程之段初始化实现中可用的压缩选项(zeros/packbits/lz77)
IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍
浅析IAR下调试信息输出机制之硬件UART外设
浅析IAR下调试信息输出机制之半主机(Semihosting)
JLink工具知识篇(持续更新中…1/1)
JLink Script文件基础及其在IAR下调用方法
存储器冷知识篇(持续更新中…3/3)
国内外串行NOR Flash厂商官网Cross Reference功能使用体验
存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)
主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计
厂商盘点篇(持续更新中…3/3)
盘点国内Cortex-M内核MCU厂商高性能产品(2021版 – 主频不低于96MHz)
盘点国内Cortex-M内核MCU厂商高主频产品(2023版 – 主频不低于144MHz)
盘点国内车规级MCU厂商(2020年及之前发布产品)
--------------------------------------------------------------------------------------
恩智浦MCU开发环境与工具相关知识
恩智浦半导体的MCU产品线非常之广,其配套软件开发工具也非常强大,基本可以涵盖项目开发全过程所需要的各种工具,利用好这些工具可以大大加速项目开发。
MCUXpresso SDK篇(持续更新中…1/1)
恩智浦MCUXpresso SDK在GitHub上线了
MCUXpresso IDE篇(持续更新中…13/13)
MCUXpresso IDE下SDK工程导入与workspace管理机制
MCUXpresso IDE下添加新路径下源文件进工程编译的方法
MCUXpresso IDE下添加C++源文件进SDK工程编译的方法
MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异
MCUXpresso IDE下工程链接文件配置管理与自动生成机制
MCUXpresso IDE下将应用程序RW段分散链接的几种方法
MCUXpresso IDE下将关键函数重定向到RAM中执行的几种方法
MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制
MCUXpresso IDE下将源码制作成Lib库方法及其与IAR,MDK差异
MCUXpresso IDE下设置代码编译优化等级的几种方法
MCUXpresso IDE下生成镜像文件的方法及其与IAR,MDK差异
MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项
MCUXpresso IDE下在线调试时使用不同复位策略的现象总结
MCUXpresso Config Tools篇(持续更新中…1/1)
MCUXpresso Config Tools初体验(Pins, Clocks, Peripherals)
--------------------------------------------------------------------------------------
恩智浦MCX系列微控制器相关知识
恩智浦半导体于2022年11月发布MCX系列MCU,分为四大子系列N/A/W/L,可涵盖任何终端设备,从消费者到工业以及介于两者之间的一切。其中N系列首批产品:MCX N94x(主频 150MHz 双核 Cortex-M33,N1-16 系列 NPU,CoolFlux BSP32 型音频处理单元)和MCX N54x,专为简化安全智能边缘应用(包括物联网和工业应用)打造。
本系列文章会逐一介绍MCX系列微控制器开发相关知识。
芯闻篇(持续更新中…1/1)
低功耗&高性能边缘人工智能应用的新答案 – MCXN947
调试篇(持续更新中…)
启动篇(持续更新中…)
--------------------------------------------------------------------------------------
恩智浦i.MX RT三位数系列微控制器相关知识
恩智浦半导体于2018年10月发布的i.MX RT三位数系列开启了ML/AI MCU的新纪元,其第一款芯片i.MX RT685,搭载一颗主频高达300MHz的Cortex-M33内核,以及一颗主频高达600MHz的Cadence Tensilica HiFi4 DSP。主要面向实时机器学习(ML)/人工智能(AI)应用。
芯闻篇(持续更新中…1/1)
为下一代智能可穿戴设备而生 – i.MXRT500
介绍篇(持续更新中…2/2)
恩智浦i.MX RTxxx系列MCU特性那些事(1)- 概览
恩智浦i.MX RTxxx系列MCU特性那些事(2)- RT685SFVK性能实测(Dhrystone)
启动篇(持续更新中…8/12)
恩智浦i.MX RTxxx系列MCU启动那些事(1)- Boot简介
恩智浦i.MX RTxxx系列MCU启动那些事(2)- Boot配置(ISP Pin/OTP)
恩智浦i.MX RTxxx系列MCU启动那些事(3)- Serial ISP模式(blhost)
恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法
恩智浦i.MX RTxxx系列MCU启动那些事(5)- Bootable image格式与加载(elftosb/.json)
恩智浦i.MX RTxxx系列MCU启动那些事(6)- 从Serial(Multi-IO) NOR启动
恩智浦i.MX RTxxx系列MCU启动那些事(6.A)- FlexSPI NOR启动时间(RT500)
恩智浦i.MX RTxxx系列MCU启动那些事(6.B)- FlexSPI NOR连接方式大全(RT600)
恩智浦i.MX RTxxx系列MCU启动那些事(6.B)- FlexSPI NOR连接方式大全(RT500)
恩智浦i.MX RTxxx系列MCU启动那些事(7)- 从SD/eMMC启动
恩智浦i.MX RTxxx系列MCU启动那些事(8)- 从Serial(1-bit SPI) NOR恢复启动
恩智浦i.MX RTxxx系列MCU启动那些事(9)- 动态解密安全启动需知(OTFAD)
经验篇(持续更新中…12/12)
类别 | 文章 |
---|---|
系统启动 |
一种i.MXRT下从App中进入ROM串行下载模式的方法 快速定位i.MXRT600板级设计ISP[2:0]启动模式引脚上电时序问题的方法 i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例) 了解i.MXRTxxx系列ROM中灵活的串行NOR Flash启动硬复位引脚选择 深扒i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合 揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计 |
片内存储 |
对比i.MXRT与LPC在RTC外设GPREG寄存器使用上的异同 从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制 |
下载算法 | 轻松为i.MXRT设计更新Segger J-Link Flash下载算法文件(i.MXRT600为例) |
在线升级 |
了解i.MXRTxxx系列ROM API及其与i.MXRT1xxx系列的差异 解锁i.MXRTxxx上FlexSPI模块自带的地址重映射(Remap)功能 |
仿真调试 | 揭秘i.MXRT600的ISP模式下用J-Link连接后PC总是停在0x1c04a的原因(Debug Mailbox) |
通用外设 | |
外存扩展 | |
性能分析 | |
图形显示 | |
安全可靠 |
项目篇(持续更新中…1/1)
RT-MFB – 一种灵活的i.MXRT下多串行NOR Flash型号选择的量产方案
标准篇(持续更新中…1/1)
微处理器CPU性能测试基准(Dhrystone)
--------------------------------------------------------------------------------------
恩智浦i.MX RT四位数系列微控制器相关知识
恩智浦半导体于2017年10月发布的i.MX RT四位数系列开启了高性能MCU的新纪元,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,CoreMark跑分高达3020。
资料篇(全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篇)
工具篇(持续更新中…21/21)
恩智浦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项目使用
MCUBootUtility v3.4.0发布,支持串行NAND
MCUBootUtility v3.5.0发布,支持串行NOR的ECC及双程序启动
MCUBootUtility v4.0.0发布,开始支持MCX啦
MCUBootUtility v5.0.0发布,初步支持i.MXRT1180
如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
MCUBootFlasher v3.0.0发布,为真实的产线操作场景而生
启动篇(持续更新中…19/25)
恩智浦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 NAND启动
恩智浦i.MX RT1xxx系列MCU启动那些事(10.A)- FlexSPI NAND启动时间(RT1170)
恩智浦i.MX RT1xxx系列MCU启动那些事(11)- 从Serial 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连接方式大全(RT1160/1170)
恩智浦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)
经验篇(持续更新中…79/83)
类别 | 文章 |
---|---|
电源时钟 |
浅谈i.MXRT1xxx系列MCU时钟相关功能引脚的作用 浅谈i.MXRT10xx系列MCU外接24MHz晶振的作用 |
系统启动 |
理解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.MXRT中不支持DQS的FlexSPI引脚组连接串行NOR Flash下载与启动注意事项 深入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.MXRT1170上启动含DQS的Octal Flash可不严格设Dummy Cycle(以MT35XU512为例) 在i.MXRT1050上启动含DQS的Hyper Flash可不严格设Dummy Cycle(以S26KS512为例) 在i.MXRT启动头FDCB里使能串行NOR Flash的Continuous read模式 串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之RESET# 串行NOR Flash的Continuous read模式下软复位后i.MXRT无法启动问题解决方案之SW Reset 在i.MXRT启动头FDCB里使能串行NOR Flash的QPI/OPI模式 系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败 FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败 揭秘i.MXRT1060,1010上串行NOR Flash冗余程序启动设计 揭秘i.MXRT1170上串行NOR Flash双程序可交替启动设计 聊聊系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响 利用i.MXRT1xxx系列ROM集成的DCD功能可轻松配置指定外设 聊聊i.MXRT1xxx上第三级启动保障 – SDMMC manufacture模式 借助i.MXRT10xx系列INIT_VTOR功能可以缩短程序热重启时间 |
片内存储 |
在SBL项目实战中妙用i.MXRT1xxx里SystemReset不复位的GPR寄存器 i.MXRT1010,1170型号上不一样的SNVS GPR寄存器读写控制设计 改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常 原来i.MXRT1xxx系列里也暗藏了Product ID寄存器 了解i.MXRT1xxx系列里负责动态分配ITCM/DTCM/OCRAM大小的FlexRAM模块 |
下载算法 | 一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事(SR寄存器BP[x:0]位) |
在线升级 |
利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可轻松IAP 其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API 其实i.MXRT下改造FlexSPI driver同样支持AHB方式去写入NOR Flash 探讨i.MXRT下FlexSPI driver实现Flash编程时对于中断支持问题 借助Serial Plot软件观测i.MXRT系列FlexSPI驱动Flash页编程执行时间分布 利用i.MXRT1060,1010上新增的FlexSPI地址重映射(Remap)功能可安全OTA 可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信 |
仿真调试 |
IAR在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link/DAPLink) Keil在线调试时设不同复位类型可能会导致i.MXRT下调试现象不一致(J-Link/DAPLink) 揭秘i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因 IAR环境下无法直接下载调试i.MXRT分散链接工程的解决方案(宏文件.mac+双Flashloader) |
通用外设 |
以i.MXRT1xxx的GPIO模块为例谈谈中断处理函数(IRQHandler)的标准流程 对比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO电平中断设计差异 聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法 实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率 再测i.MXRT1060,1170上的普通GPIO与高速GPIO极限翻转频率 聊聊i.MXRT1170双核下不同GPIO组的访问以及中断设计 介绍i.MXRT定时器PIT的多通道链接模式及其在coremark测试工程里的应用 |
双核通信 |
大话双核i.MXRT1170之Cortex-M7与Cortex-M4互相激活之道 大话双核i.MXRT1170之单独在线调试从核工程的方法(IAR篇) 大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇) |
外存扩展 |
同一厂商不同系列Flash型号下Dummy Cycle设置方法可能有差异(以IS25LP064A为例) 关于i.MXRT中FlexSPI外设lookupTable里配置Normal read的一个小误区(Dummy Cycle不可设0) 理解i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值 串行NAND Flash的两大特性(坏块,读等待)导致其在i.MXRT FlexSPI下无法XiP i.MXRT中FlexSPI外设不常用的读选通采样时钟源 – loopbackFromSckPad 在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试 分享一个i.MXRT系列配套DRAM压力测试上位机工具(i.MXRT DRAM Tester) |
性能分析 |
链接函数到8字节对齐地址或可进一步提升i.MXRT1xxx内核执行性能 i.MXRT中FlexSPI外设对AHB Burst Read特性的支持 i.MXRT全系列下FlexSPI外设AHB Master ID定义与AHB RX Buffer指定的异同 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(无缓存) 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(有预取) 实抓Flash信号波形来看i.MXRT的FlexSPI外设下AHB读访问情形(全加速) 在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺 利用GPIO模块来测量i.MXRT1xxx的系统中断延迟时间 对比MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异 |
图形显示 |
记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇) 记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(解答篇) 降低刷新率是定位LCD花屏显示问题的第一大法(i.MXRT1170, 1280×480 LVDS) |
安全可靠 |
简析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特点、开启步骤、性能影响 简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响 简析i.MXRT1170 XECC功能特点及其保护串行NOR Flash和SDRAM之道 揭秘i.MXRT1170 eFuse空间访问可靠性的保护策略(冗余与ECC) SNVS Master Key仅在i.MXRT10xx Hab关闭时才能用于DCP加解密 利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache |
项目篇(持续更新中…12/13)
kFlashFile – 一个基于Flash的掉电数据存取方案
RT-UFL – 一个适用全平台i.MXRT的超级下载算法设计
超级下载算法RT-UFL v1.0发布,附J-Link下安装教程
超级下载算法RT-UFL v1.0在MCUXpresso IDE下的使用
超级下载算法RT-UFL v1.0在IAR EW for Arm下的使用
超级下载算法RT-UFL v1.0在Keil MDK下的使用
超级下载算法RT-UFL v1.0在Segger Ozone下的使用
超级下载算法(RT-UFL)开发笔记(1) – 执行在不同CM内核下
超级下载算法(RT-UFL)开发笔记(2) – 识别当前i.MXRT型号
超级下载算法(RT-UFL)开发笔记(3) – 统一FlexSPI驱动访问
超级下载算法(RT-UFL)开发笔记(4) – 轮询Flash配置参数
超级下载算法(RT-UFL)开发笔记(5) – 动态调整FlashDevice内容
超级下载算法(RT-UFL)开发笔记番外(1) – JLinkScript妙用
标准篇(持续更新中…8/10)
微控制器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信号功能简介
串行NOR Flash的页编程模式对于量产效率的影响
内存读写正确性压力测试程序(memtester)
第三方篇(持续更新中…3/3)
2021 TencentOS Tiny AIoT应用创新大赛 – 初赛阶段的38个作品速览
把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(1) – 开发环境搭建与点灯
把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(2) – 在Flash调试及离线启动
--------------------------------------------------------------------------------------
飞思卡尔Kinetis系列和恩智浦LPC系列微控制器相关知识
飞思卡尔半导体(现恩智浦半导体)于2010年开始推出的Kinetis系列昭示着ARM Cortex-M MCU阵营又多了一个顶级厂商,其第一款芯片Kinetis K60,搭载Cortex-M4内核(也是业界第一款Cortex-M4内核产品),主频最高可达150MHz,性能可达1.25DMIPS/MHz。
Kinetis芯片家族发展至今(2017)已拓展至7大家族系列:K/L/E/V/EA/M/W,其中K/L系列主打通用市场,其余5个系列专攻细分领域。
恩智浦半导体最早于2003年便开始推出LPC系列MCU,但早期的产品LPC2000/3000系列属于ARM7/9内核的产品,直到2008年开始推出的LPC1800系列标志着恩智浦也加入了ARM Cortex-M MCU阵营,LPC18xx系列MCU,搭载Cortex-M3内核,主频最高可达180MHz。
LPC芯片家族发展至今(2022)出现过很多家族成员系列:800/1100/1200/1300/1500/1700/1800/2000/3000/4000/4300/54000/5500系列,其中800/1100/54000/5500系列是目前的主推产品系列。
Kinetis调试篇(持续更新中…1/3)
飞思卡尔Kinetis开发板OpenSDA调试器那些事(上)- 背景与架构
飞思卡尔Kinetis开发板OpenSDA调试器那些事(中)- 使用与修复
飞思卡尔Kinetis开发板OpenSDA调试器那些事(下)- 原理与开发
Kinetis启动篇(持续更新中…5/12)
飞思卡尔Kinetis系列MCU启动那些事(1)- KBOOT架构
飞思卡尔Kinetis系列MCU启动那些事(2)- KBOOT形态(ROM/Bootloader/Flashloader)
飞思卡尔Kinetis系列MCU启动那些事(3)- KBOOT配置(FOPT/BOOT Pin/BCA)
飞思卡尔Kinetis系列MCU启动那些事(4)- KBOOT通信外设(uart/spi/i2c/can/usb-hid)
飞思卡尔Kinetis系列MCU启动那些事(5)- KBOOT初级工具(blhost/bus_pal/KinetisFlashTool)
飞思卡尔Kinetis系列MCU启动那些事(6)- 从片内Flash启动
飞思卡尔Kinetis系列MCU启动那些事(7)- KBOOT高级工具(elftosb/QCBGenerator/embedded_host)
飞思卡尔Kinetis系列MCU启动那些事(8)- 从片外QSPI NOR Flash启动
飞思卡尔Kinetis系列MCU启动那些事(9)- KBOOT特性(完整性检测)
飞思卡尔Kinetis系列MCU启动那些事(10)- KBOOT特性(可靠升级)
飞思卡尔Kinetis系列MCU启动那些事(11)- KBOOT特性(ROM API)
飞思卡尔Kinetis系列MCU启动那些事(12)- KBOOT特性(Security)
LPC外设驱动篇(持续更新中…1/1)
恩智浦经典LPC系列MCU内部Flash IAP驱动入门
--------------------------------------------------------------------------------------
ARM Cortex-M内核微控制器相关知识
ARM公司从2004年开始推出Cortex-M系列内核,迄今Cortex-M家族已经包含九款Cortex-M0/M0+/M1/M3/M4/M7/M23/M33/M35P,一个合格的Cortex-M微控制器开发者必须要对这些内核有充分了解,读内核手册是了解内核的主要途径,而对于Cortex-M软件开发者来说还可以从CMSIS(Cortex-M软件接口标准)入手来逐步了解内核的使用。
资料篇(全1篇已完结)
史上最强ARM Cortex-M学习资源汇总(持续更新中…)
芯闻篇(持续更新中…2/2)
单片机AI的春天已来,ARM Cortex-M55发布了
Ethos-U55,ARM首款面向Cortex-M的microNPU
内核篇(持续更新中…8/14)
ARM Cortex-M内核那些事(1)- 内核架构编年史
ARM Cortex-M内核那些事(2)- 第一款微控制器
ARM Cortex-M内核那些事(3.1)- 功能模块看差异(M0/3/4/7)
ARM Cortex-M内核那些事(3.2)- 为Security而生(M23/33/35P)
ARM Cortex-M内核那些事(4)- 性能指标大比拼
ARM Cortex-M内核那些事(5)- 一表搜罗指令集
ARM Cortex-M内核那些事(6)- 系统堆栈机制
ARM Cortex-M内核那些事(7)- 内核寄存器
ARM Cortex-M内核那些事(8)- 系统总线(AHB/APB/AXI)
ARM Cortex-M内核那些事(9.1)- 存储保护(MPU – PMSAv6/7)
ARM Cortex-M内核那些事(9.2)- 存储保护(MPU – PMSAv8)
ARM Cortex-M内核那些事(10)- 浮点计算(FPU)
ARM Cortex-M内核那些事(11)- 数字信号处理(DSP)
ARM Cortex-M内核那些事(12)- 安全区域(TrustZone)
中断篇(持续更新中…0/5)
ARM Cortex-M中断那些事(1)- 工作机制
ARM Cortex-M中断那些事(2)- 管理模块(SCB/NVIC)
ARM Cortex-M中断那些事(3)- 向量表
ARM Cortex-M中断那些事(4)- 优先级设置
ARM Cortex-M中断那些事(5)- 异常处理
功耗篇(持续更新中…0/0)
ARM Cortex-M低功耗那些事(0)- 索引
调试篇(持续更新中…1/8)
ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)
ARM Cortex-M调试那些事(2)- 2线协议标准(SWD)
ARM Cortex-M调试那些事(3)- CoreSight架构
ARM Cortex-M调试那些事(4)- DAPLink调试器
ARM Cortex-M调试那些事(5)- J-Link仿真器
ARM Cortex-M调试那些事(6)- IAR内嵌调试C-SPY
ARM Cortex-M调试那些事(7)- Flashloader
ARM Cortex-M调试那些事(8)- 常用技巧
文件篇(全9篇已完结)
ARM Cortex-M文件那些事(0)- 文件关联
ARM Cortex-M文件那些事(1)- 源文件(.c/.h/.s)
ARM Cortex-M文件那些事(2)- 链接文件(.icf)
ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)
ARM Cortex-M文件那些事(5)- 映射文件(.map)
ARM Cortex-M文件那些事(6)- 可执行文件(.out/.elf)
ARM Cortex-M文件那些事(7)- 反汇编文件(.s/.lst/.dump)
ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)