痞子衡維護(hù)的 NXP-MCUBootUtility 工具距離上一個(gè)版本(v2.4.0)發(fā)布過(guò)去 2 個(gè)半月了,這一次痞子衡為大家?guī)?lái)了全新版本 v3.0.0,從這個(gè)版本開(kāi)始,NXP-MCUBootUtility 將不再局限于 i.MXRT 系列,也要開(kāi)始支持經(jīng)典的 LPC,Kinetis 系列。
一、v3.0 更新記錄
二、關(guān)于新系列 MCU 的支持
NXP-MCUBootUtility v3.0 之前的版本主要支持 i.MXRT 系列,該系列都是不含內(nèi)部 Flash 的,因此芯片本身比較復(fù)雜,對(duì)于嵌入式初學(xué)者來(lái)說(shuō),玩起來(lái)的難度較大。從 v3.0 開(kāi)始,MCUBootUtility 加入了 LPC、Kinetis 的支持,這兩個(gè)系列 MCU 大多含有內(nèi)部 Flash,玩起來(lái)的難度較小。
2.1 第二代 Kinetis 系列
NXP-MCUBootUtility v3.0 目前并不是支持全部的 Kinetis 型號(hào),其主要支持第二代 Kinetis,即 2014 年初及以后問(wèn)世的 Kinetis 芯片(比如 MKL03、MKL27、MKL43、MKL80、MKE18F 等),第二代 Kinetis 芯片有一個(gè)明顯的特質(zhì)是內(nèi)部包含 BootROM。
NXP-MCUBootUtility 主要需要跟 Kinetis BootROM 做通信以完成其內(nèi)部 FTFx NOR Flash 的更新下載,這個(gè) BootROM 有一個(gè)專門(mén)的官方主頁(yè),主頁(yè)里標(biāo)明了全部含 BootROM 的 Kinetis 型號(hào):
MCUBOOT 主頁(yè):https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuboot-mcu-bootloader-for-nxp-microcontrollers:MCUBOOT
對(duì)于不含 BootROM 的 Kinetis 系列(比如 MK22、MK65、MKVxx、MKWxx 等),MCUBootUtility 將來(lái)的版本也會(huì)考慮進(jìn)一步支持,因?yàn)?MCUBOOT 項(xiàng)目里有源碼版本 Bootloader 支持,需要你將 MCUBOOT 源碼通過(guò)調(diào)試器下載進(jìn) Flash 跑起來(lái),然后 MCUBootUtility 工具就也可以去支持了。
2.2 LPC5500 系列
NXP-MCUBootUtility v3.0 當(dāng)前也并不是支持全部的 LPC 型號(hào),其主要支持全新的 LPC5500 系列,這是 LPC 主打 Cortex-M33 內(nèi)核的型號(hào)系列,除了 ARM 自帶的 TrustZone 特性外,恩智浦也為其賦予了一系列黑科技安全模塊(尋常 AES-256/SHA-2/RNG/UID 不在話下,SRAM PUF、PRINCE、PFR 才是特色)。
NXP-MCUBootUtility 是跟 LPC5500 BootROM 做通信以完成其內(nèi)部 C040HD NOR Flash 的更新下載(不包含 PFR 區(qū)域),該系列 Flash 有個(gè)重要特色,就是最后的 10 幾個(gè) Page 是受特殊保護(hù)的,這個(gè)區(qū)域叫 PFR,存放了一些重要的原廠配置和安全相關(guān)數(shù)據(jù),訪問(wèn)這個(gè)區(qū)域需要特殊的方式(工具后續(xù)會(huì)支持)。
LPC5500 系列主頁(yè):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 系列支持非常豐富的安全啟動(dòng)模式(簽名與各種加密方式),v3.0 版本 MCUBootUtility 目前還不支持其安全模式。
至此,這次更新的主要特性便介紹完了。MCUBootUtility 項(xiàng)目地址為 https://github.com/JayHeng/NXP-MCUBootUtility , 雖然當(dāng)前版本(v3.0.0)功能已經(jīng)非常完備,你還是可以在此基礎(chǔ)上再添加自己想要的功能。如此神器,還不快快去下載試用?