痞子衡維護的NXP-MCUBootFlasher工具(以前叫RT-Flash)距離上一個版本(v2.0.0)釋出過去一年半以上了,這一次痞子衡為大家帶來了全新版本v3.0.0,從這個版本開始,NXP-MCUBootFlasher将不再局限于i.MXRT系列,也要開始支援經典的LPC,Kinetis系列。但是擴充MCU型号支援并不是這個版本最重要的更新,這次主要做了8路闆卡異步自動下載下傳功能(特别适合産線操作場景),痞子衡是怎麼做到的?且往下看
--
痞子衡維護的NXP-MCUBootFlasher工具(以前叫RT-Flash)距離上一個版本(v2.0.0)釋出過去一年半以上了,這一次痞子衡為大家帶來了全新版本v3.0.0,從這個版本開始,NXP-MCUBootFlasher将不再局限于i.MXRT系列,也要開始支援經典的LPC,Kinetis系列。但是擴充MCU型号支援并不是這個版本最重要的更新,這次主要做了8路闆卡異步自動下載下傳功能(特别适合産線操作場景),痞子衡是怎麼做到的?且往下看。

NXP-MCUBootFlasher v3.0之前的版本主要支援i.MXRT系列。從v3.0開始,MCUBootFlasher加入了LPC5500、Kinetis的支援。這三大系列MCU雖然差異不小,但有一個共同特點,那就是支援恩智浦獨創的一種程式檔案格式(.sb)。這種SB格式檔案除了包含可執行檔案所有資訊外,還同時包含配套的Flash操作步驟資訊以及加密相關操作資訊,這樣就非常友善量産使用。下圖便是最早期的.sb格式檔案組成:
Kinetis和i.MXRT1xxx系列是基于SB 1.x版本設計的,SB 1.x中程式既可以是不加密的也可以加密;i.MXRTxxx和LPC5500系列是基于SB 2.x版本設計的,SB 2.x規定了程式必須要加密。
NXP-MCUBootFlasher v3.0之前的版本燒寫多塊闆卡的設計邏輯是:一位勞工将n塊闆卡先全部連上PC的插槽,等工具将闆卡全部識别出來,這時候勞工點選工具【Start】按鈕,工具會按序完成這n塊闆卡的下載下傳工作,然後勞工再換下一批闆卡,重複上述過程,其本質上是串行的。這種設計其實并不符合産線上實際操作流程。
NXP-MCUBootFlasher v3.0版本實作了真正的異步燒寫多塊闆卡的設計邏輯:n塊闆卡不需要同時被連上PC插槽,每個插槽均由一名勞工負責,勞工将闆卡連上插槽,工具會自動完成該闆卡的下載下傳工作(不需要點選任何按鈕),并給出最終下載下傳狀态結果,下載下傳完成勞工即可更換下一塊闆卡,重複此過程。n路插槽的n個勞工可以根據自己工作節奏來做,不需要嚴格同步,其本質上是并行的,這種設計才是産線上的真實操作流程。
基于并行的帶寬考量,v3.0暫時支援最多8路插槽,當然想擴充到更多路,改一下代碼也很容易做到。
Note: v3.0版本在使用上有一個小限制,8路插槽需要被分别單獨下載下傳一次(此時其他7路不能連接配接闆卡),完成此流程後8路插槽便可以一起工作了。
至此,這次更新的主要特性便介紹完了。MCUBootFlasher項目位址如下。雖然目前版本(v3.0.0)功能已經非常完備,你還是可以在此基礎上再添加自己想要的功能。如此神器,還不快快去下載下傳試用?
位址1: https://github.com/JayHeng/NXP-MCUBootFlasher 位址2: https://gitee.com/jayheng/NXP-MCUBootFlasher
文章會同時釋出到我的 部落格園首頁、CSDN首頁、知乎首頁、微信公衆号 平台上。
微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。
最後歡迎關注痞子衡個人微信公衆号【痞子衡嵌入式】,一個專注嵌入式技術的公衆号,跟着痞子衡一起玩轉嵌入式。
衡傑(痞子衡),目前就職于恩智浦MCU系統部門,擔任嵌入式系統應用工程師。
專欄内所有文章的轉載請注明出處:http://www.cnblogs.com/henjay724/
與痞子衡進一步交流或咨詢業務合作請發郵件至 [email protected]
可以關注痞子衡的Github首頁 https://github.com/JayHeng,有很多好玩的嵌入式項目。
關于專欄文章有任何疑問請直接在部落格下面留言,痞子衡會及時回複免費(劃重點)答疑。
痞子衡郵箱已被私信擠爆,技術問題不推薦私信,堅持私信請先掃碼付款(5元起步)再發。