嵌入式系統結構與協同性探討
1. Bootloader/BSP 特性
Bootloader 與BSP 配合,通過初始化硬件設備、建立內存空間映射,“屏敝”硬件環(huán)境,為調用操作系統內核和應用程序運行作好準備。
1.1 Bootloader 特性與結構分析
Bootloader 是系統加電后首先運行的程序,主要依賴于硬件,建立一個通用版本幾乎不可能。即使同一CPU,硬件稍作變化,Bootloader 也必須修改。建立良好的BootLoader 結構,為系統二次開發(fā)以及減輕BSP的開發(fā)難度、可移植提供有益幫助;同時,也是保護硬件平臺設計知識產權的重要措施。
啟動過程分單階段(Single STage)和多階段(Multi-Stage)。從協同性劃分技術角度,設備初始化程序等通常放在stage 中,stage2 設置內核參數和調用,應具有可讀性和可移植性。從固態(tài)存儲設備上啟動的Bootloader 大多都是兩階段的啟動過程。Bootloader 的存貯體和分區(qū):Flash/RAM/固態(tài)存貯器(圖2);Flash 存儲分區(qū)有連續(xù)和非連續(xù)兩種方式。當系統需要多媒體等功能,用DOC(Disk ON Chip)技術解決大容量嵌入式OS 的存貯。
圖2. 空間分配結構示意圖
1.2 BSP 特性
作為板級支持軟件包BSP 處在一個軟硬件交界的中心位置,結構與功能隨系統應用范圍表現較大的差異。不同的硬件環(huán)境和操作系統,BSP 具有不同的內容與結構。從協同性角度,在系統設計初始階段,就必須考慮BSP 可移植性、生成組件性以及快速性。如,BSP 的編程大多數是在成型的模板上進行,保持與上層OS 正確的接口。
2. Bootloader/BSP 協同性與設計
在建構嵌入式系統的過程中,應從系統結構和協同性角度,關注底層軟件的設計。bootloaer 和BSP構成底層軟件設計的核心內容,與硬件、過程、功能劃分結合緊密。
2.1 Bootloader 與BSP 協同性分析流程
首先用對任務所涉及的功能和過程進行系統級劃分,確定將功能劃分給軟件還是硬件,對執(zhí)行確定相關的“延遲”特性。形成模型創(chuàng)建、配置、*估等協同流程,克服傳統孤立的設計模式。在面對系統低層軟件Bootloader 與BSP 設計時,在前面分析系統結構以及特性基礎上,給出如下系統性流程圖。
評論