--
痞子衡维护的NXP-MCUBootUtility工具距离上一个版本(v2.4.0)发布过去2个半月了,这一次痞子衡为大家带来了全新版本v3.0.0,从这个版本开始,NXP-MCUBootUtility将不再局限于i.MXRT系列,也要开始支持经典的LPC,Kinetis系列。
NXP-MCUBootUtility v3.0之前的版本主要支持i.MXRT系列,该系列都是不含内部Flash的,因此芯片本身比较复杂,对于嵌入式初学者来说,玩起来的难度较大。从v3.0开始,MCUBootUtility加入了LPC、Kinetis的支持,这两个系列MCU大多含有内部Flash,玩起来的难度较小。
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型号:
对于不含BootROM的Kinetis系列(比如MK22、MK65、MKVxx、MKWxx等),MCUBootUtility将来的版本也会考虑进一步支持,因为MCUBOOT项目里有源码版本Bootloader支持,需要你将MCUBOOT源码通过调试器下载进Flash跑起来,然后MCUBootUtility工具就也可以去支持了。
Note 1: Kinetis BootROM支持的通信接口非常丰富,UAR/SPI/I2C/CAN/USB-HID,但MCUBootUtility仅支持UART/USB-HID,这两个接口满足大部分场景了。
Note 2: 部分Kinetis型号(比如MK80F也支持从外部QSPI NOR启动),v3.0版本MCUBootUtility目前还不支持下载程序进其外部QSPI Flash。
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,存放了一些重要的原厂配置和安全相关数据,访问这个区域需要特殊的方式(工具后续会支持)。
Note 1: LPC5500 BootROM支持的通信接口非常丰富,UAR/SPI/I2C/USB-HID,但MCUBootUtility仅支持UART/USB-HID。
Note 2: LPC5500系列支持非常丰富的安全启动模式(签名与各种加密方式),v3.0版本MCUBootUtility目前还不支持其安全模式。
至此,这次更新的主要特性便介绍完了。MCUBootUtility项目地址为 https://github.com/JayHeng/NXP-MCUBootUtility , 虽然当前版本(v3.0.0)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?
联系客服