痞子衡维护的 NXP-MCUBootUtility 工具距离上一个版本(v2.4.0)发布过去 2 个半月了,这一次痞子衡为大家带来了全新版本 v3.0.0,从这个版本开始,NXP-MCUBootUtility 将不再局限于 i.MXRT 系列,也要开始支持经典的 LPC,Kinetis 系列。

 

一、v3.0 更新记录

 

 

二、关于新系列 MCU 的支持

NXP-MCUBootUtility v3.0 之前的版本主要支持 i.MXRT 系列,该系列都是不含内部 Flash 的,因此芯片本身比较复杂,对于嵌入式初学者来说,玩起来的难度较大。从 v3.0 开始,MCUBootUtility 加入了 LPC、Kinetis 的支持,这两个系列 MCU 大多含有内部 Flash,玩起来的难度较小。

 

2.1 第二代 Kinetis 系列

NXP-MCUBootUtility v3.0 目前并不是支持全部的 Kinetis 型号,其主要支持第二代 Kinetis,即 2014 年初及以后问世的 Kinetis 芯片(比如 MKL03、MKL27、MKL43、MKL80、MKE18F 等),第二代 Kinetis 芯片有一个明显的特质是内部包含 BootROM。

 

NXP-MCUBootUtility 主要需要跟 Kinetis BootROM 做通信以完成其内部 FTFx NOR Flash 的更新下载,这个 BootROM 有一个专门的官方主页,主页里标明了全部含 BootROM 的 Kinetis 型号:

 

MCUBOOT 主页:https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuboot-mcu-bootloader-for-nxp-microcontrollers:MCUBOOT

 

 

对于不含 BootROM 的 Kinetis 系列(比如 MK22、MK65、MKVxx、MKWxx 等),MCUBootUtility 将来的版本也会考虑进一步支持,因为 MCUBOOT 项目里有源码版本 Bootloader 支持,需要你将 MCUBOOT 源码通过调试器下载进 Flash 跑起来,然后 MCUBootUtility 工具就也可以去支持了。

 

  • Note 1: Kinetis BootROM 支持的通信接口非常丰富,UAR/SPI/I2C/CAN/USB-HID,但 MCUBootUtility 仅支持 UART/ISB-HID,这两个接口满足大部分场景了。Note 2: 部分 Kinetis 型号(比如 MK80F 也支持从外部 QSPI NOR 启动),v3.0 版本 MCUBootUtility 目前还不支持下载程序进其外部 QSPI Flash。

 

2.2 LPC5500 系列

NXP-MCUBootUtility v3.0 当前也并不是支持全部的 LPC 型号,其主要支持全新的 LPC5500 系列,这是 LPC 主打 Cortex-M33 内核的型号系列,除了 ARM 自带的 TrustZone 特性外,恩智浦也为其赋予了一系列黑科技安全模块(寻常 AES-256/SHA-2/RNG/UID 不在话下,SRAM PUF、PRINCE、PFR 才是特色)。

 

NXP-MCUBootUtility 是跟 LPC5500 BootROM 做通信以完成其内部 C040HD NOR Flash 的更新下载(不包含 PFR 区域),该系列 Flash 有个重要特色,就是最后的 10 几个 Page 是受特殊保护的,这个区域叫 PFR,存放了一些重要的原厂配置和安全相关数据,访问这个区域需要特殊的方式(工具后续会支持)。

 

LPC5500 系列主页:https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33:LPC5500_SERIES

 

 

  • Note 1: LPC5500 BootROM 支持的通信接口非常丰富,UAR/SPI/I2C/USB-HID,但 MCUBootUtility 仅支持 UART/ISB-HID。Note 2: LPC5500 系列支持非常丰富的安全启动模式(签名与各种加密方式),v3.0 版本 MCUBootUtility 目前还不支持其安全模式。

 

至此,这次更新的主要特性便介绍完了。MCUBootUtility 项目地址为 https://github.com/JayHeng/NXP-MCUBootUtility , 虽然当前版本(v3.0.0)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?