加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

MCUBootUtility v3.4發(fā)布,支持串行NAND

2021/09/27
343
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v3.3.0)發(fā)布過去 4 個多月了,這一次痞子衡為大家?guī)砹税姹旧?v3.4.0,這個版本主要有幾個非常重要的更新需要跟大家特別說明一下。

一、v3.4更新記錄

Features:

    1. 支持下載應(yīng)用程序進主動啟動設(shè)備 - FlexSPI NAND接口Flash

    2. 支持對啟動設(shè)備進行全擦操作

Improvements:

    1. 支持SDK 2.10及其之后生成的可啟動文件作為源文件

    2. 添加更多的串行NOR Flash模型

二、幾個不可忽視的更新

2.1 支持下載串行NAND

i.MXRT 系列支持的啟動設(shè)備種類非常豐富,工具已經(jīng)支持了大部分類型的啟動設(shè)備,這次新增支持的串行 NAND 是所剩不多的未支持設(shè)備類型了。

NAND 相比 NOR 有著容量大、價格便宜的優(yōu)勢,但是因為天然不支持 XiP,所以在 i.MXRT 項目上用得并不廣泛。此外 NAND 還分 Raw NAND 和 串行 NAND,前者問世時間更早一些,在 Linux 世界里有一定群眾基礎(chǔ),因此即使客戶選 NAND 作為啟動設(shè)備,一般也是 Raw NAND 居多。

為何痞子衡這次花費精力去升級工具支持串行 NAND 呢?當然是來生意了,最近有國外客戶選擇了用串行 NAND 作為啟動設(shè)備,但是恩智浦這邊相關(guān)資料較少,想要搞定啟動不太容易,所以痞子衡只能先頂上了,讓工具把串行 NAND 第一時間支持起來。

 

2.2 支持SDK 2.10.x例程

工具設(shè)計之初本打算僅支持裸應(yīng)用程序,即用戶只需要關(guān)心應(yīng)用程序本身,不用管 i.MXRT 啟動頭(FDCB, IVT, BD等),工具會自動添加合適的啟動頭,但恩智浦 SDK 里的示例例程包含了啟動頭(見工程選項里的 XIP_BOOT_HEADER_ENABLE=1),所以工具(從 v1.1 版本開始)不得不要去支持可啟動應(yīng)用程序源文件。

工具 v1.1 版本發(fā)布之時,當時恩智浦 SDK 版本才 2.3.x,三年過去了,目前 SDK 版本已經(jīng)升級到了 2.10.x。從 SDK 2.10.x 版本開始,啟動頭設(shè)定有了一些變化,IVT 里的 entry 值從中斷向量表首地址變成了復(fù)位函數(shù)地址,這個變化對工具產(chǎn)生了影響,因此工具需要升級支持 IVT.entry 是復(fù)位函數(shù)地址的可啟動程序。

  • Note: 當前功能有一個限制,就是假定應(yīng)用程序中斷向量表是以 0x400 對齊的,因為工具需要根據(jù)這個假定來從源程序文件中尋找出中斷向量表地址。

 

2.3 更多的NOR Flash模型

NOR Flash 模型設(shè)計是工具的一大特色,之前版本沒有把支持的所有廠商型號都羅列出來,只給了一些代表型號。如果模型里沒有客戶選擇的 Flash 型號,很多客戶就不知道該選哪個模型了(其實選相近類型即可,不一定需要廠商一致)。這次升級直接就一步到位了,把該加上的模型全部加上,如果有遺漏,歡迎大家給我留言或者提 issue。

  • Note: 模型設(shè)計的前提是這些 Flash 里均包含 SFDP,鑒于有些廠商手冊里標稱包含 SFDP,實際卻沒有的情況,需要選擇 Complete FDCB 來支持。

 

2.4 支持Flash全擦操作

工具本身也是一個基于 i.MXRT 的通用 Flash 編程器,我們可以對連接到 i.MXRT 的 Flash 進行任意的讀寫擦,之前版本的擦除操作主要通過 Sector Erase 和 Block Erase 命令組合實現(xiàn)的,如果客戶想將 Flash 全部擦除,花費時間較久。為了提高全擦效率,這次新增了一個 Mass Erase 按鈕,即調(diào)用 Chip Erase 命令來實現(xiàn),耗時縮短不少。

至此,這次更新的主要特性便介紹完了。MCUBootUtility項目地址如下。雖然當前版本(v3.4.0)功能已經(jīng)非常完備,你還是可以在此基礎(chǔ)上再添加自己想要的功能。如此神器,還不快快去下載試用?

恩智浦

恩智浦

恩智浦半導(dǎo)體創(chuàng)立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導(dǎo)體事業(yè)部,總部位于荷蘭埃因霍溫。恩智浦2010年在美國納斯達克上市。恩智浦2010年在美國納斯達克上市。恩智浦半導(dǎo)體致力于打造全球化解決方案,實現(xiàn)智慧生活,安全連結(jié)。

恩智浦半導(dǎo)體創(chuàng)立于2006年,其前身為荷蘭飛利浦公司于1953年成立的半導(dǎo)體事業(yè)部,總部位于荷蘭埃因霍溫。恩智浦2010年在美國納斯達克上市。恩智浦2010年在美國納斯達克上市。恩智浦半導(dǎo)體致力于打造全球化解決方案,實現(xiàn)智慧生活,安全連結(jié)。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

碩士畢業(yè)于蘇州大學(xué)電子信息學(xué)院,目前就職于恩智浦(NXP)半導(dǎo)體MCU系統(tǒng)部門,擔任嵌入式系統(tǒng)應(yīng)用工程師。痞子衡會定期分享嵌入式相關(guān)文章