NXP MCU Boot Utility提供芯片设计功能,可以在软件帮助用户重新配置芯片,该软件主要支持i.MXRT系列MCU芯片,将你的芯片连接到这款软件就可以开始配置微控制器系列、微控制器型号、启动设备类型等参数,从而在软件界面可以编辑,也支持启动设备配置、DCD数据配置,通过软件的引导内容就可以配置测试芯片的方案,软件也支持通过安全模式启动,也支持生成可启动程序、下载可启动程序、专用 eFuse烧写、通用 Flash编程等功能,如果你需要这款软件就下载吧!
软件功能
NXP-MCUBootUtility是一个专为NXP MCU安全加密启动而设计的工具,其特性与NXP MCU里BootROM功能相对应,目前主要支持i.MXRT系列MCU芯片,与NXP官方的标准安全加密配套工具集(OpenSSL, CST, sdphost, blhost, elftosb, BD, MfgTool2)相比,NXP-MCUBootUtility是一个真正的一站式工具,一个工具包含NXP官方所有加密配套工具的功能,并且是全图形用户界面操作。借助于NXP-MCUBootUtility,你可以轻松上手NXP MCU安全加密启动。
NXP-MCUBootUtility主要功能如下:
支持UART和USB-HID两种串行下载方式(COM端口/USB设备自动识别)
支持五种常用格式(elf/axf/srec/hex/bin)源image文件输入并检查其链接地址的合法性
支持将裸源image文件自动转换成i.MXRT能启动的Bootable image
支持下载Bootable image进外部启动设备
支持外部启动设备的任意读/写/擦操作(即通用Flash编程器)
软件特色
支持i.MXRTyyyy全系列MCU,包含i.MXRT1011、i.MXRT1015、i.MXRT1021、i.MXRT1051/1052、i.MXRT1061/1062、i.MXRT1064 SIP
源image文件既可以是裸源image文件,也可以是含启动文件头的bootable image文件
支持将裸源image文件自动转换成MfgTool和RT-Flash工具能下载的.sb格式文件
支持下载Bootable image进主动启动设备 - FlexSPI接口NOR Flash
支持下载Bootable image进主动启动设备 - SEMC接口NAND Flash
支持下载Bootable image进主动启动设备 - uSDHC接口SD/eMMC卡
支持下载Bootable image进备份启动设备 - LPSPI接口NOR/EEPROM Flash
支持用于开发阶段的非安全加密启动(未签名加密)
支持基于HAB实现的安全加密启动(单签名,签名和加密),证书自动备份
支持基于BEE实现的安全加密启动(唯一SNVS key,用户自定义key)
支持基于OTFAD实现的安全加密启动(唯一SNVS key,用户自定义key)
支持MCU芯片内部eFuse的回读和烧写操作(即专用eFuse烧写器)
支持从外部启动设备回读Bootable image,并对其组成部分(NFCB/DBBT/FDCB/EKIB/EPRDB/IVT/Boot Data/DCD/Image/CSF/DEK KeyBlob)进行标注
支持i.MXRTxxx全系列MCU,包含i.MXRT533/535/553/555/583/585/593/595、i.MXRT633/635/685
支持下载Bootable image进主动启动设备 - FlexSPI/QuadSPI接口NOR Flash
支持用于开发阶段的非安全加密启动(未签名,CRC校验)
支持MCU芯片内部SRAM的读/写/执行操作(即专用SRAM编程器,可用于ISP启动)
支持从外部启动设备回读Bootable image,并对其组成部分(OTFAD KeyBlob/FDCB/KeyStore/Image)进行标注
使用说明
1、下载软件以后打开bin文件夹,打开主程序NXP-MCUBootUtility.exe
2、NXP MCU Boot Utility界面的功能如图所示,可以在软件界面编辑芯片
3、支持 MCU Series、MCU Device、Boot device等内容设置,可以自己选择
4、【Target Setup】:目标设备设置栏,提供MCU Device和Boot Device配置选项。
5、【Port Setup】:串行接口设置栏,选择用于连接MCU Device的接口。
6、【Device Status】:目标设备状态信息栏,当连接上目标设备之后,用于显示目标设备的状态。
7、【Secure Boot Action】:安全加密启动主界面,提供对目标设备做安全加密启动的所有操作。
8、【Log Info】:操作日志栏,记录软件操作日志。
9、支持中文设置功能,点击查看界面就可以可以设置新的语言类型
10、支持软件运行模式、USB识别模式、音效模式、生成sb文件、程序回读、 Flashloader执行空间
11、可以到软件官方网站查看详细的介绍,也可以在软件查看更新内容
12、下载最终可启动应用程序镜像文件进启动设备:
13、烧写设置内容,可以在软件界面直接编辑数据,可以在软件添加新的芯片数据
14、固件设置内容,可以在这里直接编辑flash,可以在这里擦除数据
15、安全启动模式:DEV Unsigned Image Boot、DEV Unsigned Image Boot、HAB Signed Image Boot
16、设备类型、查询管脚数、命令管脚数、四路模式设置、Misc模式、最大频率、是否有NOR选项
注意事项
NXP-MCUBootUtility在发布时借助PyInstaller将所有的Python依赖全部打包进一个可执行文件(NXP-MCUBootUtilitybinNXP-MCUBootUtility.exe),因此如果不是对NXP-MCUBootUtility的二次开发,你不需要安装任何Python软件及相关库。
Note1: 使用NXP-MCUBootUtility之前必须先从NXP官网下载 [HAB Code Signing Tool工具](https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX_CST_TOOL&appType=file2&location=null&DOWNLOAD_ID=null&lang_cd=en),并将其解压放在NXP-MCUBootUtilitytoolscst目录下,并且需要修改代码使能AES功能重新生成NXP-MCUBootUtilitytoolscstmingw32bincst.exe,否则HAB签名以及加密相关功能无法使用。具体步骤可以参考这篇博客 [《开启NXP-MCUBootUtility工具的HAB加密功能 - cst.exe》](https://www.cnblogs.com/henjay724/p/10189593.html)。
Note2: 使用NXP-MCUBootUtility之前必须编译NXP-MCUBootUtilitytoolsimage_enccode下面的源文件生成image_enc.exe,并将其放置在NXP-MCUBootUtilitytoolsimage_encwin,否则BEE/OTFAD加密相关功能无法使用。具体步骤可以参考这篇博客 [《开启NXP-MCUBootUtility工具的BEE/OTFAD加密功能 - image_enc.exe》](https://www.cnblogs.com/henjay724/p/10189602.html)
Note3: 源代码包里的NXP-MCUBootUtility.exe是在Windows 10 x64环境下打包的,也仅在该环境下测试过,如果因系统原因无法直接使用,你需要先安装 [Python2.7.15 x86版本](https://www.python.org/ftp/python/2.7.15/python-2.7.15.msi) (安装完成后确认Python27, Python27Scripts目录被添加到系统环境变量Path里),然后在NXP-MCUBootUtilityenv目录下点击do_setup_by_pip.bat安装开发NXP-MCUBootUtility所依赖的Python库,最后点击do_pack_by_pyinstaller.bat重新生成NXP-MCUBootUtility.exe可执行文件。
Note4: 必须使用Python2 x86版本去打包NXP-MCUBootUtility,因为NXP-MCUBootUtility使用了pywinusb库,该库在Python2 x64版本下无法用PyInstaller打包,pywinusb作者没有计划修复该问题。
安装
NXP-MCUBootUtility是一个是纯绿色免安装的工具,下载了源代码包之后,直接双击NXP-MCUBootUtilitybinNXP-MCUBootUtility.exe即可使用。使用NXP-MCUBootUtility没有任何软件依赖,不需要额外安装任何软件。
在NXP-MCUBootUtility.exe图形界面显示之前,会首先弹出一个控制台窗口,该控制台会伴随着NXP-MCUBootUtility.exe图形界面一起工作,很多图形界面的操作都会在控制台窗口看到对应的底层命令执行,保留控制台主要是为了便于定位NXP-MCUBootUtility.exe的问题,目前NXP-MCUBootUtility尚处于早期阶段,等后期软件成熟会考虑移除控制台。
目录
NXP-MCUBootUtility软件目录组织如下:
NXP-MCUBootUtility
apps --放置NXP官方评估板示例image文件
bin --放置NXP-MCUBootUtility可执行文件及用户配置文件
doc --放置NXP官方安全启动相关的参考文档
env --放置用于安装NXP-MCUBootUtility开发环境以及打包脚本
gen --放置NXP-MCUBootUtility使用过程中生成的临时文件
bd_file --根据配置动态生成的BD文件
bee_crypto --BEE加密过程中生成的文件
bootable_image --生成的bootable image文件
dcd_file --生成的DCD数据文件
hab_cert --HAB签名过程中生成的文件
hab_crypto --HAB加密过程中生成的文件
json_file --根据配置动态生成的JSON文件
log_file --保存软件操作记录日志
otfad_crypto --OTFAD加密过程中生成的文件
sb_image --生成的.sb格式文件
user_file --软件运行过程中缓存的临时文件
gui --放置开发NXP-MCUBootUtility UI构建工程文件
img --放置NXP-MCUBootUtility使用过程中需加载的图片
src --放置开发NXP-MCUBootUtility的所有Python源代码文件
tools --放置NXP-MCUBootUtility使用过程中需调用的外部程序
blhost --与Flashloader通信的上位机命令行工具
cst --HAB加密的配套命令行工具
elftosb --生成bootable image的命令行工具
ide_utils --各IDE提供的image格式转换工具
image_enc --BEE加密的配套命令行工具
imgutil --生成DCD数据的命令行工具
openssl --生成证书和秘钥的标准工具
sdphost --与ROM通信的上位机命令行工具
更新日志
2.00
特性
1.支持i.mxrt5xx,i.mxrtxA0
2.支持i.mxrt1011i.mxrt117x
3.y支持基于 OTFADSN实现的安全加密启动(唯 key,用户自定义key
4.[rtxx支持UART和USB-HD两种串行编程方式(coM端口/USB设备自动识别)
5.[rtxx支持将裸源 image文件自动转换成i.r能启 Bootable动的 image
6.[rtxx]用户输入的源程序文件可以包含 MXRT启动头(FDCB)
7.[rtxx支持下载 Bootable image进主动启动设备FlexSPIQuadSPI NOR接口 Flash
8.[RTxxx]支持用于开发阶段的非安全加密启动(未签名,CRC校验)
9.在通用 Flash编程器模式下增加执行(跳转)操作
10.[RTyyyy支持在 device statusFlexRAM里显示当前配置情况
改进:
1.[RTyyyy]提高i.rt105x目标板USB连接稳定性
2.通用Fash编程器里也支持读写aM
3.[RTyyyy]提供 Flashloader执行空间选项以适应不同的 FlexRAM配置
修复:
1.[RTyyyy有时候生成证书时会提示bat文件无法找到,导致证书无法生成
2.[RTyyyy]可视化方式去编辑混合 eFuse区域并没有生效
3.[RTyyyy]无法支持32MB及以上 LPSPI容量的 NOR/EEPROM设备
4.在通用 Flash编程器模式下无法擦除/读取外部启动设备的最后两个age
∨ 展开