--
痞子衡維護的NXP-MCUBootFlasher工具(之前叫RT-Flash)距離上一個版本(v2.0.0)發佈過去一年半以上了,這一次痞子衡爲你們帶來了全新版本v3.0.0,從這個版本開始,NXP-MCUBootFlasher將再也不侷限於i.MXRT系列,也要開始支持經典的LPC,Kinetis系列。可是擴展MCU型號支持並非這個版本最重要的更新,此次主要作了8路板卡異步自動下載功能(特別適合產線操做場景),痞子衡是怎麼作到的?且往下看。git
NXP-MCUBootFlasher v3.0以前的版本主要支持i.MXRT系列。從v3.0開始,MCUBootFlasher加入了LPC5500、Kinetis的支持。這三大系列MCU雖然差別不小,但有一個共同特色,那就是支持恩智浦首創的一種程序文件格式(.sb)。這種SB格式文件除了包含可執行文件全部信息外,還同時包含配套的Flash操做步驟信息以及加密相關操做信息,這樣就很是方便量產使用。下圖即是最先期的.sb格式文件組成:github
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路插槽即可以一塊兒工做了。.net
至此,此次更新的主要特性便介紹完了。MCUBootFlasher項目地址爲 https://github.com/JayHeng/NXP-MCUBootFlasher , 雖然當前版本(v3.0.0)功能已經很是完備,你仍是能夠在此基礎上再添加本身想要的功能。如此神器,還不快快去下載試用?設計
文章會同時發佈到個人 博客園主頁、CSDN主頁、知乎主頁、微信公衆號 平臺上。blog
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就能夠在手機上第一時間看了哦。get