1. gzyueqian
      18078865874

      嵌入式開發(fā):微控制器的引導(dǎo)加載程序設(shè)計技術(shù)

      更新時間: 2022-04-04 09:35:39來源: 粵嵌教育瀏覽量:11730

        引導(dǎo)加載程序(有時稱為閃存加載程序)是駐留在微控制器內(nèi)存中的單獨(dú)應(yīng)用程序(不是產(chǎn)品應(yīng)用程序代碼),用于幫助嵌入式開發(fā)人員更新他們的軟件,而無需打開他們的設(shè)備并訪問 JTAG 或其他調(diào)試端口。

        引導(dǎo)加載程序在嵌入式系統(tǒng)中已經(jīng)存在了幾十年,但許多團(tuán)隊忽視了它們的重要性,并且不完全理解如何去創(chuàng)建一個健壯的系統(tǒng)。更糟糕的是,有關(guān)如何創(chuàng)建引導(dǎo)加載程序的詳細(xì)信息分散在整個網(wǎng)絡(luò)中,沒有任何一個來源為開發(fā)人員提供成功創(chuàng)建自己所需的所有信息。在這篇文章中,我們將討論產(chǎn)品團(tuán)隊為他們的系統(tǒng)創(chuàng)建引導(dǎo)加載程序的不同選項,并提供一些資源來深入了解如何創(chuàng)建自己的引導(dǎo)加載程序的細(xì)節(jié)。

        開發(fā)人員可以使用多種選項來創(chuàng)建自己的引導(dǎo)加載程序。首先,許多微控制器都帶有內(nèi)部工廠引導(dǎo)加載程序。工廠引導(dǎo)加載程序存在于微控制器 ROM 中,開發(fā)人員可以在產(chǎn)品制造過程中訪問以將其應(yīng)用程序映像閃存到微控制器上。如果開發(fā)人員不需要強(qiáng)大的解決方案、錯誤處理或安全性,這些工廠引導(dǎo)加載程序可能足夠聰明,可以開箱即用。設(shè)備固件更新 (DFU) 已成為通過內(nèi)置在微控制器中的 USB 更新固件的流行方法。為了使用 dfu,嵌入式開發(fā)人員必須:

        從 ST Micro 下載 DFU 實(shí)用程序,例如 dfu-util 或 DfuSe

        將他們的代碼編譯成 .dfu 圖像文件

        在微控制器啟動期間按住特定的 GPIO 引腳

        使用 dfu 實(shí)用程序來更新他們的固件

        dfu 選項非常適合快速原型設(shè)計,但在生產(chǎn)環(huán)境中,必須有一個需要拉到特定狀態(tài)的特定 GPIO 可能很危險。如果用戶不小心觸發(fā)了正確的狀態(tài)并重新啟動會發(fā)生什么? 突然他們的系統(tǒng)無法工作,他們不知道為什么。



        開發(fā)人員可以用來為其系統(tǒng)創(chuàng)建引導(dǎo)加載程序的第二個選項是使用由其微控制器供應(yīng)商提供的引導(dǎo)加載程序。使用供應(yīng)商提供的引導(dǎo)加載程序可能很有意義,因為創(chuàng)建引導(dǎo)加載程序所需的技能需要對微控制器中發(fā)生的事情有專業(yè)的了解。引導(dǎo)加載程序嵌入式開發(fā)人員需要了解:

        鏈接器文件

        如何共同定位多個應(yīng)用程序圖像

        檢測新圖像

        驗證新的應(yīng)用程序映像(校驗和、CRC、安全問題)

        寫入閃存

        在更新中止或電源故障時恢復(fù)

        從已運(yùn)行的應(yīng)用程序分支到新應(yīng)用程序

        如何調(diào)試內(nèi)存中的多個應(yīng)用程序

        它有很多內(nèi)容,而且列表才剛剛開始。使用供應(yīng)商提供的引導(dǎo)加載程序可以幫助開發(fā)人員快速克服學(xué)習(xí)曲線障礙。引導(dǎo)加載程序甚至可以作為開發(fā)人員采用然后構(gòu)建自己的解決方案的起點(diǎn)。在許多情況下,供應(yīng)商提供的解決方案是一個很好的例子,它功能強(qiáng)大但幾乎總是缺乏適當(dāng)?shù)腻e誤處理、健壯性和安全性。

        嵌入式開發(fā)人員可以將引導(dǎo)加載程序添加到他們的系統(tǒng)的另一種選擇是使用第三方供應(yīng)商為他們創(chuàng)建一個。外包引導(dǎo)加載程序開發(fā)很有意義,因為它允許團(tuán)隊專注于他們的產(chǎn)品功能,而不是固件更新,這本身就是一個復(fù)雜的話題。

        最后一個選項是創(chuàng)建自己的引導(dǎo)加載程序。深入了解細(xì)節(jié)可能是非常有益和具有挑戰(zhàn)性的。引導(dǎo)加載程序揭示了開發(fā)人員對他們的微控制器、嵌入式軟件以及如何調(diào)試應(yīng)用程序的了解程度。經(jīng)驗豐富的開發(fā)人員的典型開發(fā)工作可能需要四到六周,具體取決于復(fù)雜性和接口要求。對引導(dǎo)加載程序幾乎沒有經(jīng)驗的開發(fā)人員可能需要 10 到 12 周的時間。學(xué)習(xí)曲線和錯誤并非微不足道。

        無論你決定使用哪個選項來實(shí)現(xiàn)引導(dǎo)加載程序,都不要將其視為微不足道的系統(tǒng)組件。不正確的引導(dǎo)加載程序?qū)嵤┛赡軙?dǎo)致嵌入式系統(tǒng)安全漏洞或維護(hù)噩夢。應(yīng)該在設(shè)計周期的早期開發(fā)引導(dǎo)加載程序,而不是在最后一刻添加到系統(tǒng)的最后一步。嵌入式開發(fā)人員使用和測試引導(dǎo)加載程序和固件更新和管理系統(tǒng)的時間越長,他們在確保能夠成功更新固件時的煩惱就越少。

      免費(fèi)預(yù)約試聽課

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

      
      

      1. 自拍偷在线精品自拍偷99 | 亚洲精品理论国产电影 | 一本久久a久久精品免费不卡 | 亚洲欧美日韩看国产 | 久久国产精品久久香蕉 | 亚洲成色最大综合在线播放6 |