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