嵌入式系統底層軟件結構模型建構與協(xié)同性分析
2.3 μCLinux 內核的加載
系統采用μCLinux 自帶的引導程序加載內核,用自舉模式和內核啟動(dòng)模式相互切換;同時(shí),切換到內核啟動(dòng)模式,自動(dòng)安全地啟動(dòng)系統。針對ARM7TDMI 的無(wú)MMU 特性,采用修改后的μCLinux 內核引導程序加載操作系統和初始化環(huán)境,解決內核加載的地址重映射問(wèn)題和操作系統的內存管理問(wèn)題。
2.4 WinCE 系統下BootLoader
完成定制WinCE 的加載主要工作是編寫(xiě)啟動(dòng)加載程序bootloader 和板級支持包BSP。Bootloader 涉及到基本的硬件操作,如CPU 的結構、指令等,同時(shí)涉及以太網(wǎng)下載協(xié)議TFTP 和映像文件格式。Bootloader支持命令輸入的方式,不用人工干預加載WinCE,其主控部分通過(guò)串口來(lái)接收用戶(hù)的命令。
2.5 系統板級支持包BSP
由于硬件環(huán)境、Bootloader 映射范圍以及二次開(kāi)發(fā)等原因,系統啟動(dòng)加載程序Bootloader 不能把經(jīng)過(guò)裁剪的OS 直接引導進(jìn)入硬件環(huán)境,需要建立BSP 文件,如VxWorks 的BSP 和Linux 的BSP 相對于某一CPU 來(lái)說(shuō)盡管實(shí)現的功能一樣,寫(xiě)法和接口定義可以完全不同。BSP 的結構與內容差異性較大,依據不同的系統和應用環(huán)境,應設計建立合理、穩定的BSP 內核。
2.6 交叉融合
在分析過(guò)程、任務(wù)劃分以及系統協(xié)同性的基礎上,對系統底層軟件設計應考慮Bootloader、BSP、接口以及應用程序交叉與融合。應用 BSP 組成靈活性,設計充分考慮軟硬件協(xié)同。接口驅動(dòng)程序,如網(wǎng)絡(luò )驅動(dòng)、串口驅動(dòng)和系統下載調試、部分應用程序可添加到BSP 中,從系統結構的角度是,簡(jiǎn)化軟件層次和硬件尤其是存貯體系結構,當操作系統運行于硬件相對固定的系統,BSP 也相對固定,不需要做任何改動(dòng),建立獨立的應用程序包。如果BSP 中的應用程序不斷升級,將對系統穩定性造成影響。
圖 4 表征了嵌入式系統三個(gè)軟件環(huán)節的結構變化,Bootloader、BSP、接口驅動(dòng)程序以及部分應用程序將產(chǎn)生融合與交叉。對于一次開(kāi)發(fā)功能強大的嵌入式系統,應充分利用嵌入式處理器供應商提供的Bootloader,使建立BSP 的過(guò)程變得相對容易。
軟件交叉與融合示意圖

圖 4. 軟件交叉與融合示意圖
3.結束語(yǔ)
通過(guò)對嵌入式系統結構與協(xié)同性探討,分析了嵌入式系統的特點(diǎn)和協(xié)同性。應用結構協(xié)同思路與流程,建立一個(gè)結構良好與嵌入式核心硬件層密切相關(guān)的 Bootloader 和BSP,對順利植入裁剪良好的OS、簡(jiǎn)化軟件結構以及保護硬件平臺知識產(chǎn)權都有重要意義。嵌入式處理器種類(lèi)多,系統結構不盡相同,Bootloader 和BSP 的內容隨之會(huì )產(chǎn)生差異,應充分考慮系統協(xié)同問(wèn)題,避免傳統的多次設計、反復實(shí)驗的方式,為實(shí)際應用提供有益幫助。本文引用地址:http://dyxdggzs.com/article/151283.htm
評論