1. gzyueqian
      18529173453

      嵌入式開發:使用MCU進行無線更新面臨的5大挑戰

      更新時間: 2022-06-10 13:49:18來源: 粵嵌教育瀏覽量:9335

        使用引導加載程序更新嵌入式系統的能力是一項需要掌握的重要技能。盡管為開發嵌入式系統付出了所有努力,但要么在現場發現錯誤,要么最終用戶要求附加功能。為了在現場或遠程無線更新固件,嵌入式系統必須具有板載引導加載程序。對于作為物聯網一部分的無線更新的嵌入式系統,嵌入式開發團隊面臨五個關鍵挑戰。

        挑戰 1 – 代碼大小

        基于微控制器的應用程序過去非常小,最多只有8到16 KB。現代微控制器可以為開發人員提供價值超過1024 KB 的應用程序代碼空間。盡管容量和功能呈爆炸式增長,但對于希望通過無線方式更新固件的嵌入式程序員來說,代碼大小是第一個挑戰。

        代碼大小的挑戰之一是微控制器通常沒有用于正在運行的應用程序代碼的板載文件系統,這與運行Linux的基于CPU的系統不同。由于文件不存在,目標文件被鏈接器連續放置在內存中。對應用程序的微小調整可能會導致更新整個閃存空間!為了防止這樣的災難,開發人員需要預先考慮對內存進行分區,并預測可能需要修改代碼庫的哪些區域。結果可能是板載閃存的使用效率低下,并增加了系統的相當復雜性。

        挑戰 2 – 帶寬

        通常,當嵌入式開發人員考慮與引導加載程序相關的帶寬時,帶寬用于確定更新應用程序所需的最大閃存時間。無線更新嵌入式系統可能會增加一些額外的挑戰。

        第一個挑戰涉及需要在無線鏈路上工作的引導加載程序,這可能會產生與傳輸和接收數據相關的成本。在許多情況下,無線更新可能會通過WIFI或以太網執行,但使用蜂窩數據鏈路的移動設備呢?考慮到單個嵌入式系統,可能會忽略更新系統所需的單個MB應用程序代碼,但是,當有數百萬臺設備需要更新時會發生什么?僅僅推出一個更新就可能產生相當大的成本。

        開發引導加載程序的工程師,尤其是在無線執行更新的工程師,需要找到壓縮應用程序映像的方法,以最大限度地減少空中傳輸的數據量。可以通過多種方式執行壓縮,或者如果開發人員在每個對象基礎上對閃存空間進行了分區,甚至可以使用diff文件。

        

        挑戰 3–穩健性

        許多嵌入式開發團隊面臨的引導加載程序誘惑之一是使用芯片制造商提供的引導加載程序解決方案。芯片制造商解決方案的問題在于它們通常位于無法定制的ROM空間中。更重要的是,基于ROM的引導加載程序通常只是功能代碼。功能代碼可以在受控條件下執行目的,但不適用于任何事情發生的生產環境。

        需要從一開始就將魯棒性內置到引導加載程序解決方案中。引導加載程序應具有驗證板載應用程序完整性的能力。引導加載程序應該能夠檢測到失敗的固件更新并回滾到原始應用程序,而不是使系統變磚。在生產環境中,有許多事件可能會擾亂系統,但設計合理的引導加載程序將足夠強大,可以順利處理它們,而最終用戶不會意識到存在問題。

        挑戰4 – 安全

        許多基于微控制器的引導加載程序忽略了安全性,這是執行無線更新的開發人員面臨的關鍵挑戰。嵌入式開發人員可以采取的最簡單的安全措施之一就是簡單地鎖定閃存系統,執行無線更新的開發人員可能會考慮加密他們的應用程序映像,以防止任何人深入了解專有固件,甚至是逆向工程和入侵系統。無線引導加載程序應具有用于驗證更新過程的內置方法。

        挑戰 5 – 版本管理

        管理將分發給潛在數百萬臺設備的固件版本并非易事。奇怪的是,固件更新不會一次全部推送,而是分批推送。更重要的是,有可能在某個時候存在不同版本的硬件,甚至可能為不同的最終用戶提供不同的應用程序集。跟蹤并確保固件順利推出可能是一項重大挑戰。

        結論

        引導加載程序通常在開發周期結束之前被忽略,但它們在嵌入式系統中發揮著關鍵作用。這里提出的五個挑戰只是嵌入式開發人員面臨的幾個挑戰,他們正在使用微控制器開發連接系統。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲字幕一区二区 | 亚洲阿v天堂在线观看 | 天啪天天久久久久久久久噜噜 | 中文字幕乱码2国语自产 | 亚洲日韩欧美在线一区 | 日韩欧美亚洲一中文字暮精品 |