嵌入式微控制器應(yīng)用中的無線(OTA)更新:設(shè)計權(quán)衡與經(jīng)驗教訓_第1頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、嵌入式微控制器應(yīng)用中的無線(ota)更新:設(shè)計權(quán)衡與經(jīng)驗教訓 基于圖4,上述問題的解決方法是讓主引導加載程序分支到應(yīng)用程序b而不是應(yīng)用程序a。但在某些微控制器上,主引導加載程序總是運行具有中斷向量表(ivt)的程序;ivt是應(yīng)用程序的一個關(guān)鍵部分,描述中斷處理函數(shù),位于地址0。這意味著必需以某種形式重定位ivt,使其復位映射到應(yīng)用程序b。假如在ivt重定位期間發(fā)生斷電重啟,則系統(tǒng)可能會處于永遠破損狀態(tài)。 將ssbl固定在地址0可以解決這些問題,3所示。ssbl不是rtos程序,因此可以平安地分支到新應(yīng)用程序。地址0處的ssbl的ivt永久不會重新定位,所以不必不安斷電重啟會將系統(tǒng)置于災(zāi)害性狀態(tài)

2、。設(shè)計權(quán)衡:ssbl的作用我們花了無數(shù)時光研究ssbl及其與應(yīng)用軟件的關(guān)系,但ssbl程序有何作用?起碼,該程序必需確定當前應(yīng)用程序是什么(其開頭位置),然后分支到該地址。微控制器存儲器中各種應(yīng)用的位置普通保存在名目(toc)中,3所示。這是持久內(nèi)存中的一個分享區(qū)域,ssbl和應(yīng)用軟件均利用它來互相通信。當ota更新過程完成時,新的應(yīng)用程序信息會更新toc。ota更新功能的某些部分也可以被推送到ssbl。開發(fā)ota更新軟件時,確定推送哪些部分是重要的設(shè)計決策。上述最小ssbl將十分容易,易于驗證,并且在應(yīng)用程序的生命周期中很可能不需要修改。但是,這意味著每個應(yīng)用程序都要負責下載和驗證下一個應(yīng)用

3、程序。這可能導致無線電堆棧、設(shè)備固件和ota更新軟件的代碼重復。另一方面,我們可以挑選將囫圇ota更新過程推送到ssbl。在這種狀況下,應(yīng)用程序只需在toc中設(shè)置一個標記以哀求更新,然后執(zhí)行復位。ssbl隨后執(zhí)行下載序列和驗證過程。這將最大限度地削減代碼重復并簡化應(yīng)用專用軟件。然而,這會引入一個新的挑戰(zhàn),那就是可能需要更新ssbl本身(即更新更新代碼)。終于,打算ssbl中放置哪些功能將取決于客戶端器件的存儲器限制、下載的應(yīng)用程序之間的相像性以及ota更新軟件的可移植性。設(shè)計權(quán)衡:緩存和壓縮ota更新軟件中的另一個關(guān)鍵設(shè)計決策是在ota更新過程中如何組織存儲器中傳入的應(yīng)用程序。微控制器上通常有

4、兩類存儲器:非易失性存儲器(例如閃存)和易失性存儲器(例如sram)。閃存用于存儲應(yīng)用程序的程序代碼和只讀數(shù)據(jù),以及其他系統(tǒng)級數(shù)據(jù),例如toc和大事日志。sram用于存儲軟件應(yīng)用程序的可修改部分,例如十分數(shù)全局變量和堆棧。圖2所示的軟件應(yīng)用程序二進制文件僅包含非易失性存儲器中存在的程序的某些部分。在啟動例程期間,應(yīng)用程序?qū)⒊跏蓟瘜儆谝资源鎯ζ鞯牟糠?。在ota更新過程中,每次客戶端器件從服務(wù)器收到一個包含該二進制文件一部分的數(shù)據(jù)包時,便會將其存儲到sram中。該數(shù)據(jù)包可以是壓縮的,也可以是未壓縮的。壓縮應(yīng)用程序二進制文件的益處是文件會變小,從而要發(fā)送的數(shù)據(jù)包會削減,下載過程中存儲數(shù)據(jù)包所需的s

5、ram空間相應(yīng)地減小。這種辦法的缺點是壓縮和解壓縮會增強更新過程的處理時光,并且必需在ota更新軟件中捆綁壓縮相關(guān)代碼。新應(yīng)用軟件屬于閃存,但在更新過程中到達sram,因此ota更新軟件需要在更新過程中的某個時刻執(zhí)行對閃存的寫操作。臨時將新應(yīng)用程序存儲在sram中的操作稱為緩存。概言之,ota更新軟件可以實行三種不同的緩存辦法。不緩存:每次包含新應(yīng)用程序一部分的數(shù)據(jù)包到達時,便將其寫入閃存中的目標位置。這種計劃十分容易,可以最大限度地削減ota更新軟件中的規(guī)律數(shù)量,但要求徹低擦除新應(yīng)用程序?qū)?yīng)的閃存區(qū)域。此辦法會消磨閃存并增強開銷。部分緩存:保留一個sram區(qū)域用于緩存,當新數(shù)據(jù)包到達時,將其存儲在該區(qū)域中。當該區(qū)域填滿時,將數(shù)據(jù)寫入閃存以清空該區(qū)域。假如數(shù)據(jù)包無序到達或新應(yīng)用程序二進制文件中存在間隙,這種計劃可能會變得很復雜,由于需要一種辦法來將sram地址映射到閃存地址。一種策略是讓緩存充當閃存一部分的鏡像。閃存被劃分為若干稱為頁面的小區(qū)域,這是可供擦除的最小區(qū)域。得益于這種自然劃分,一個好方法是在sram中緩存閃存的一頁,當其填滿或下一數(shù)據(jù)包屬于其他頁面時,便將該頁寫入閃存以清空緩存。徹低緩存:在ota更新過程中將囫圇新應(yīng)用程序存儲在sram中,惟獨從服務(wù)器徹低下載好新應(yīng)用程序之后才將其寫入閃存。這種辦

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論