痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.5.0)发布过去 9 个月了,这一次痞子衡为大家带来了版本升级 v4.0.0,这个版本主要有两个重要更新需要跟大家特别说明一下。
一、v4.0更新记录
二、几个不可忽视的更新
2.1 更多MCU型号支持
v4.0 版本新增了不少新型号的支持,囊括经典的 i.MXRT、LPC 系列以及全新的 MCX 系列下最近发布的产品。
对于 i.MXRT 系列,主要增加了 i.MXRT1060X(封装是 BGA225) 和 i.MXRT1040(封装是 BGA169)支持。这两个型号其实是 i.MXRT1060 的变种。其中 i.MXRT1060X 需要特别讲一下,它不仅支持像 i.MXRT1060 那样从 FlexSPI1 启动,也支持像 i.MXRT1064 那样从 FlexSPI2 启动(是的,i.MXRT1060X 把在 RT1064 上用于 SIP flash 的内部 PAD 都引出来了),这需要通过烧写如下 eFUSE 位来决定:
eFUSE 0x6D0[20] - FLEXSPI_INSTANCE
0 - FLEXSPI1
1 - FLEXSPI2
对于 LPC 系列,主要增加了 LPC553x/S3x 支持。这个型号相比之前的 LPC5500 系列在模拟外设上做了非常多的增强。对于启动而言,其新增了可从 FlexSPI 外接的 NOR Flash 启动(但是目前 v4.0 版本只支持内部 Flash 下载)。
对于恩智浦全新发布的 MCX 系列,主要增加了目前出来的两款 MCXN54x 和 MCXN94x 支持。关于这个系列特点,可以参看痞子衡旧文 《低功耗&高性能边缘人工智能应用的新答案 - MCXN947》。从启动角度,它和 LPC553x/S3x 很像(目前 v4.0 版本也只支持内部 Flash 下载)。
2.2 指定加载临时数据的空闲SRAM位置
对于 i.MXRT 系列,为了支持外部启动设备的擦写以及各种加密启动功能,工具内部经常需要临时往 MCU 的内部 SRAM 里加载一些配置数据,这些配置数据会被 ROM/Flashloader 使用以完成相应的功能。在 v4.0 版本之前,加载临时数据的 SRAM 地址都是固定的,用户如果想修改(有用户反映默认的地址在一些情况下可能不适用),需要重新打包生成新 exe。而在 v4.0 版本,这些地址全部移到了 NXP-MCUBootUtilitysrctargetsMIMXRTbltargetconfig.py 里,这样就可以自由修改了。
至此,这次更新的主要特性便介绍完了。MCUBootUtility 项目地址如下。虽然当前版本(v4.0.0)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?
- 地址1:https://github.com/nxp-mcuxpresso/mcu-boot-utility
- 地址2:https://github.com/JayHeng/NXP-MCUBootUtility
- 地址3:https://gitee.com/jayheng/NXP-MCUBootUtility