嵌入式開發人員應該考慮在下一個設計中加入引導加載程序來增加遠程更新能力,這有五個主要原因。
原因1——修復現場的bug
使用引導加載程序遠程更新嵌入式系統的最大原因之一是在產品部署后修復bug。開發團隊非常努力地工作,以確保所發布的產品已經消滅了所見的每一個bug。但是開發人員也是人,肯定會有一些錯誤被忽略。經驗反復告訴我們,bug最有可能在老板或客戶面前出現在演示中,當然,在產品的初始部署階段也是如此。引導加載程序為開發團隊提供了一種簡單的方法,可以毫不費力地刪除這些bug。
原因2——為了允許訪問編程端口
在產品開發過程中,JTAG、SWD或其他微控制器編程和調試器端口隨時可用。然而,在最終產品中,編程端口并不總是容易訪問的,而且出于安全原因,也不應該如此。但是,如果需要現場軟件更新,打開產品進行訪問可能會很困難或耗時,尤其是如果電路板被封裝在灌封材料中。嵌入式開發人員使用可通過通信端口訪問的引導加載程序繞過了獲得對編程端口的物理訪問的任何困難,而是提供了一種更容易更新固件的方法。
原因3——為了避免需要專門的硬件工具
即使編程端口可以到達,編程工具也不一定容易被技術人員使用。微控制器編程工具很少是廉價的。大多數公司不愿意投資為他們的現場技術人員配備本地更新固件所需的工具。
原因4——降低維護成本
維護成本可能包括原因3中提到的硬件工具,但是派遣技術人員到現場更新固件也是一項昂貴的工作。在現場部署成千上萬的設備,讓一大群技術人員跑來跑去更新產品是不切實際的。相反,設置一個可遠程訪問的嵌入式系統是減少更新產品軟件所需人力的一個好方法。最新的固件可以上傳到服務器,而不是派嵌入式開發人員到現場,當設備認為它準備好了,它的固件可以自動更新。
原因5——升級產品功能
遠程更新固件的一個最重要的原因是升級產品功能。社會是由技術推動的,消費者期待更多的增強和功能。因此,許多公司可以從定期固件更新中受益。初創企業尤其需要利用這一概念。它允許他們最初專注于他們的核心差異化產品功能,進入市場以產生收入,然后隨著競爭擴大客戶期望,遠程開始更新他們的功能和能力。
結論
如果操作得當,遠程更新固件對于嵌入式系統來說是一個很好的標準實踐。這篇文章中的五個原因只是一些例子,說明了為什么設計者應該考慮在他們的產品中使用引導加載程序。但是,一旦決定包含一個引導程序,嵌入式開發人員正確設計引導加載程序是至關重要的。安全性、故障安全和穩健的操作對于防止系統在現場被破壞至關重要。