痞子衡嵌入式:MCUBootUtility v3.4发布,支持串行NAND
--
痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.3.0)发布过去 4 个多月了,这一次痞子衡为大家带来了版本升级 v3.4.0,这个版本主要有几个非常重要的更新需要跟大家特别说明一下。
一、v3.4更新记录
Features:
1. 支持下载应用程序进主动启动设备 - FlexSPI NAND接口Flash
2. 支持对启动设备进行全擦操作
Improvements:
1. 支持SDK 2.10及其之后生成的可启动文件作为源文件
2. 添加更多的串行NOR Flash模型
二、几个不可忽视的更新
2.1 支持下载串行NAND
i.MXRT 系列支持的启动设备种类非常丰富,工具已经支持了大部分类型的启动设备,这次新增支持的串行 NAND 是所剩不多的未支持设备类型了。
NAND 相比 NOR 有着容量大、价格便宜的优势,但是因为天然不支持 XiP,所以在 i.MXRT 项目上用得并不广泛。此外 NAND 还分 Raw NAND 和 串行 NAND,前者问世时间更早一些,在 Linux 世界里有一定群众基础,因此即使客户选 NAND 作为启动设备,一般也是 Raw NAND 居多。
为何痞子衡这次花费精力去升级工具支持串行 NAND 呢?当然是来生意了,最近有国外客户选择了用串行 NAND 作为启动设备,但是恩智浦这边相关资料较少,想要搞定启动不太容易,所以痞子衡只能先顶上了,让工具把串行 NAND 第一时间支持起来。
2.2 支持SDK 2.10.x例程
工具设计之初本打算仅支持裸应用程序,即用户只需要关心应用程序本身,不用管 i.MXRT 启动头(FDCB, IVT, BD等),工具会自动添加合适的启动头,但恩智浦 SDK 里的示例例程包含了启动头(见工程选项里的 XIP_BOOT_HEADER_ENABLE=1),所以工具(从 v1.1 版本开始)不得不要去支持可启动应用程序源文件。
工具 v1.1 版本发布之时,当时恩智浦 SDK 版本才 2.3.x,三年过去了,目前 SDK 版本已经升级到了 2.10.x。从 SDK 2.10.x 版本开始,启动头设定有了一些变化,IVT 里的 entry 值从中断向量表首地址变成了复位函数地址,这个变化对工具产生了影响,因此工具需要升级支持 IVT.entry 是复位函数地址的可启动程序。
- Note: 当前功能有一个限制,就是假定应用程序中断向量表是以 0x400 对齐的,因为工具需要根据这个假定来从源程序文件中寻找出中断向量表地址。
2.3 更多的NOR Flash模型
NOR Flash 模型设计是工具的一大特色,之前版本没有把支持的所有厂商型号都罗列出来,只给了一些代表型号。如果模型里没有客户选择的 Flash 型号,很多客户就不知道该选哪个模型了(其实选相近类型即可,不一定需要厂商一致)。这次升级直接就一步到位了,把该加上的模型全部加上,如果有遗漏,欢迎大家给我留言或者提 issue。
- Note: 模型设计的前提是这些 Flash 里均包含 SFDP,鉴于有些厂商手册里标称包含 SFDP,实际却没有的情况,需要选择 Complete FDCB 来支持。
2.4 支持Flash全擦操作
工具本身也是一个基于 i.MXRT 的通用 Flash 编程器,我们可以对连接到 i.MXRT 的 Flash 进行任意的读写擦,之前版本的擦除操作主要通过 Sector Erase 和 Block Erase 命令组合实现的,如果客户想将 Flash 全部擦除,花费时间较久。为了提高全擦效率,这次新增了一个 Mass Erase 按钮,即调用 Chip Erase 命令来实现,耗时缩短不少。
至此,这次更新的主要特性便介绍完了。MCUBootUtility项目地址如下。虽然当前版本(v3.4.0)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。
最后欢迎关注痞子衡个人微信公众号【痞子衡嵌入式】,一个专注嵌入式技术的公众号,跟着痞子衡一起玩转嵌入式。



衡杰(痞子衡),目前就职于某全球顶级半导体原厂MCU系统部门,担任高级嵌入式系统应用工程师。
专栏内所有文章的转载请注明出处:http://www.cnblogs.com/henjay724/
与痞子衡进一步交流或咨询业务合作请发邮件至 hengjie1989@foxmail.com
可以关注痞子衡的Github主页 https://github.com/JayHeng,有很多好玩的嵌入式项目。
关于专栏文章有任何疑问请直接在博客下面留言,痞子衡会及时回复免费(划重点)答疑。
痞子衡邮箱已被私信挤爆,技术问题不推荐私信,坚持私信请先扫码付款(5元起步)再发。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
2019-09-26 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(1)- 官方EVK简介