搜尋

會員登入

搜尋

導覽

會員
廣告
廣告

快速建立現場韌體更新機制——MDFU

瀏覽次數:29797

科技進步飛快,電子產品也持續升級,最常見的升級就是手機收到的軟體升級通知。如果要讓我們製作的設備也像手機一樣可以持續更新,跟上市場或客戶的需求,建立現場韌體更新(Bootloader)機制必不可少。

Bootloader 的主要用途是更新設備的韌體,但不需要使用傳統的燒錄器,並且可以最大程度地減少設備停機時間。為了做到這一點,設備需要具備某種通訊方式,使其能夠在目標設備(需要更新的設備)與主機應用程式{包含新韌體的 PC 或其他設備(Host Device)}之間進行資料傳輸(見圖一)。這意味著,現場的設備不僅需要運行應用程式(Application Code),還需要另一個程式(Bootloader Code)來管理應用程式的 載入和卸載。這項技術可用於遠端韌體更新,提升產品維護的便利性並減少成本。

Microchip 的 8-bit Microchip Device Firmware Update(MDFU)Client Library(客戶端庫)可用於建立 8 位元微控制器(MCU)的 Bootloader。該解決方案使用 Microchip Firmware Image Builder(pyfwimagebuilder)工具來生成應用程式映像檔 (.img),並透過 MDFU(pymdfu)主機工具使用全新設計的 檔案傳輸協定(FTP)來更新韌體(見圖二)。目前支援 UART、I2C 和 SPI 這三種通訊協定。

MDFU最大的特色是在更新開始前不需取得目標設備的資訊。隨著設備日益多樣化,特別是 MCU 在設備進化過程中的更迭,這種設計可避免頻繁更新主機應用程式,大幅提升相容性。

MDFU 客戶端庫的主要功能:

●採用全新設計的 檔案傳輸協定(FTP)來與主機進行通訊

●MDFU 主機可用於更新任何支援 FTP 的設備韌體

●提供更好的程式架構,以擴展功能支援並提升 8 位元設備之間的程式移植性

●在更新開始前,不需要任何目標設備的資訊

●包含GUI介面,提供下拉選單式操作(見圖三及圖四)

●最大限度減少 Bootloader 程式所需的記憶體空間

●透過 MPLABR Code Configurator(MCC)介面輕鬆設定(見圖五)

產生的原始碼將具備以下功能:

●判斷是否已載入有效的應用程式

●判斷是否運行 Bootloader 或應用程式

●與主機通訊

●擦除(Erase)並重寫(Rewrite)設備應用程式韌體

●移交控制權給應用程式

●偵測 Bootloader 更新失敗並回報錯誤

●防止 Bootloader 程式遭受意外覆寫

這個軟體庫讓韌體更新更加簡單、高效且靈活,適用於 8 位元 MCU 的開發需求!

MDFU相關資料:

Microchip Device Firmware Update(MDFU)Protocol Specification 1.0.0

PIC18F56Q24加入MDFU實例

除了MDFU外,Microchip還提供了其他系列的Bootloader範例程式:

Microchip Bootloaders

如需了解更多有關的應用技術資訊,歡迎連繫Microchip各個銷售據點。

本文作者為:Microchip主任應用工程師 賴惠君

稀土棋局下的台灣解方:從供應鏈韌性看關鍵礦物合作新契機
特別企劃半導體

稀土棋局下的台灣解方:從供應鏈韌性看關鍵礦物合作新契機

稀土與關鍵礦物已成全球科技競爭與經濟安全的重要戰略資源。面對供應鏈高度集中與地緣風險升高,台灣如何透過國際合作、技術替代、戰略儲備與城市採礦,建立自主且具韌性的關鍵礦物供應體系?

稀土與關鍵礦物已成全球科技競爭與經濟安全的重要戰略資源。面對供應鏈高度集中與地緣風險升高,台灣如何透過國際合作、技術替代、戰略儲備與城市採礦,建立自主且具韌性的關鍵礦物供應體系?