加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

MCUBootUtility v3.4发布,支持串行NAND

2021/09/27
344
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

痞子衡维护的 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)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?

恩智浦

恩智浦

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。收起

查看更多

相关推荐

电子产业图谱

硕士毕业于苏州大学电子信息学院,目前就职于恩智浦(NXP)半导体MCU系统部门,担任嵌入式系统应用工程师。痞子衡会定期分享嵌入式相关文章