--
痞子衡維護的NXP-MCUBootUtility工具距離上一個大版本(v3.0.0)發布過去4個多月了,期間痞子衡其實斷斷續續做個幾個小版本更新,這一次痞子衡為大家帶來了穩定版本v3.3.0,順便將之前的所有新增功能改動一並介紹。其實這次更新主要是跟恩智浦SE團隊近期主推的一個神秘大項目SBL有關。
一、v3.1 - v3.3更新記錄
-- v3.3.0
Features:
1. 支持對源image文件進行部分簽名
2. 支持SBL設備的ISP下載
3. 通用編程器模式下增加支持帶格式源image文件(hex/s19)
Improvements:
1. 啟動頭IVT中entry參數既支持設為復位函數也支持中斷向量表
-- v3.2.0
Features:
1. 支持i.MXRT116x
2. 支持RT500/600下SB文件生成
Bugfixes:
1. 修復RT1170下SB文件無法正常生成問題
-- v3.1.1
Bufixes:
1. 修復RT1170下UART口無法正常下載問題
-- v3.1.0
Features:
1. 支持i.MXRT1024 SIP
2. 支持Kinetis K32L系列
二、關於新型號MCU的支持
從v3.0到v3.3,工具一共增加了三款MCU型號的支持:Kinetis K32L、i.MXRT1024、i.MXRT1160。
Kinetis K32L是以前老的Kinetis KL43系列的改良版。i.MXRT1024是i.MXRT1020的SIP版(就是內部綁了一個4MB串行NOR Flash)。i.MXRT1160是i.MXRT1170的低配版,官網還沒上線,痞子衡給大家放個型號表嘗嘗鮮。
三、不可忽視的重要改進
3.1 自動生成的IVT頭entry參數增加中斷向量表選項
在菜單欄Tools里新增了IVT Entry Type選項,這個選項的具體作用,詳見痞子衡寫過的一篇文章 《IVT里的不同entry設置可能會造成i.MXRT1xxx系列啟動App后發生異常跑飛》,原先版本默認都是用Reset Handler做IVT.entry,但是有時候一些源可執行文件里Reset Handler值可能不正確,所以這里增加中斷向量表的選項。
3.2 通用編程器下新增.s19/.hex格式支持
原先工具通用編程器界面下僅支持.bin格式下載,現在新增支持經典的.s19和.hex文件格式,這樣下載時就不用再手動填寫起始下載地址了。
3.3 可以僅簽名程序部分區域
原先工具對於i.MXRT簽名啟動模式的支持,均是默認簽名全部程序區域。但實際應用中,客戶會有僅簽名程序一部分區域的需求,因此v3.3里新增了部分區域簽名的功能,最大支持3個區域。注意:第一個區域最好包含程序中斷向量表(這是HAB的限制)。
四、配合恩智浦全新大項目SBL
恩智浦MCU SE團隊近期一直在加班加點趕一個大項目,這個項目是為客戶產品OTA需求而生的。我們知道在線升級是每個智能產品都不可繞開的話題,恩智浦SE團隊為了方便客戶在基於i.MXRT/LPC的產品上做在線升級,特別推出OTA參考設計,下面是功能架構簡圖:項目分為SBL + SFW兩部分,SBL負責ISP本地更新(UART/USB)以及App切換管理;SFW是一個示例App,其除了客戶項目業務功能外,也集成了遠程更新功能(WiFi、以太、U盤、SD卡四種升級方式)。這個項目近期將會在恩智浦官方github上以源碼形式開源,敬請關注。
工具為了支持這個大項目,在菜單欄Tools/Run Mode里新增了“SBL OTA”選項,切換到這個選項后,工具就可以配合SBL里的ISP功能(可以理解為二級L2 bootloader,其usb id固定為0x15A2, 0x0073)進行應用程序下載了,注意下載操作主要在通用編程器界面里完成。
至此,這次更新的主要特性便介紹完了。MCUBootUtility項目地址如下。雖然當前版本(v3.3.0)功能已經非常完備,你還是可以在此基礎上再添加自己想要的功能。如此神器,還不快快去下載試用?
歡迎訂閱
文章會同時發布到我的 博客園主頁、CSDN主頁、知乎主頁、微信公眾號 平台上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。