天天看點

痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

--

  痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v3.3.0)釋出過去 4 個多月了,這一次痞子衡為大家帶來了版本更新 v3.4.0,這個版本主要有幾個非常重要的更新需要跟大家特别說明一下。

  i.MXRT 系列支援的啟動裝置種類非常豐富,工具已經支援了大部分類型的啟動裝置,這次新增支援的串行 NAND 是所剩不多的未支援裝置類型了。

  NAND 相比 NOR 有着容量大、價格便宜的優勢,但是因為天然不支援 XiP,是以在 i.MXRT 項目上用得并不廣泛。此外 NAND 還分 Raw NAND 和 串行 NAND,前者問世時間更早一些,在 Linux 世界裡有一定群衆基礎,是以即使客戶選 NAND 作為啟動裝置,一般也是 Raw NAND 居多。

  為何痞子衡這次花費精力去更新工具支援串行 NAND 呢?當然是來生意了,最近有國外客戶選擇了用串行 NAND 作為啟動裝置,但是恩智浦這邊相關資料較少,想要搞定啟動不太容易,是以痞子衡隻能先頂上了,讓工具把串行 NAND 第一時間支援起來。

痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

  工具設計之初本打算僅支援裸應用程式,即使用者隻需要關心應用程式本身,不用管 i.MXRT 啟動頭(FDCB, IVT, BD等),工具會自動添加合适的啟動頭,但恩智浦 SDK 裡的示例例程包含了啟動頭(見工程選項裡的 XIP_BOOT_HEADER_ENABLE=1),是以工具(從 v1.1 版本開始)不得不要去支援可啟動應用程式源檔案。

  工具 v1.1 版本釋出之時,當時恩智浦 SDK 版本才 2.3.x,三年過去了,目前 SDK 版本已經更新到了 2.10.x。從 SDK 2.10.x 版本開始,啟動頭設定有了一些變化,IVT 裡的 entry 值從中斷向量表首位址變成了複位函數位址,這個變化對工具産生了影響,是以工具需要更新支援 IVT.entry 是複位函數位址的可啟動程式。

Note: 目前功能有一個限制,就是假定應用程式中斷向量表是以 0x400 對齊的,因為工具需要根據這個假定來從源程式檔案中尋找出中斷向量表位址。
痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

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

Note: 模型設計的前提是這些 Flash 裡均包含 SFDP,鑒于有些廠商手冊裡标稱包含 SFDP,實際卻沒有的情況,需要選擇 Complete FDCB 來支援。
痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

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

痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

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

位址1: https://github.com/JayHeng/NXP-MCUBootUtility 位址2: https://gitee.com/jayheng/NXP-MCUBootUtility

文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。

微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

  最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。

痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND
痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND
痞子衡嵌入式:MCUBootUtility v3.4釋出,支援串行NAND

  衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。

  專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/

  與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]

  可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。

  關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。

  痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。