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