嵌入式微控制器應用中的無線(OTA)更新:設計權衡與經驗教訓_第1頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論