1. gzyueqian
      13352868059

      嵌入式開發(fā):使用MCU進行無線更新面臨的5大挑戰(zhàn)

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

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

        挑戰(zhàn) 1 – 代碼大小

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

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

        挑戰(zhàn) 2 – 帶寬

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

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

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

        

        挑戰(zhàn) 3–穩(wěn)健性

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

        需要從一開始就將魯棒性內(nèi)置到引導加載程序解決方案中。引導加載程序應(yīng)具有驗證板載應(yīng)用程序完整性的能力。引導加載程序應(yīng)該能夠檢測到失敗的固件更新并回滾到原始應(yīng)用程序,而不是使系統(tǒng)變磚。在生產(chǎn)環(huán)境中,有許多事件可能會擾亂系統(tǒng),但設(shè)計合理的引導加載程序?qū)⒆銐驈姶螅梢皂樌幚硭鼈儯罱K用戶不會意識到存在問題。

        挑戰(zhàn)4 – 安全

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

        挑戰(zhàn) 5 – 版本管理

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

        結(jié)論

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

      免費預約試聽課

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

      
      

      1. 午夜福利免费区在线观看 | 亚洲欧美日韩污在线观看 | 又色又爽视频香蕉网络 | 亚洲欧美日韩中文无线码 | 天天看在线视频国产 | 亚洲中文字幕人成乱码sm |