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