當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式系統(tǒng)底層軟件結(jié)構(gòu)模型建構(gòu)與協(xié)同性分析

摘 要:從探討嵌入式系統(tǒng)結(jié)構(gòu)和協(xié)同性角度出發(fā),分析了嵌入式系統(tǒng)是否采用操作系統(tǒng)的原因以及與硬件層密切相關(guān)的嵌入式系統(tǒng)底層啟動(dòng)加載軟件 Bootloader 和板級(jí)支持包軟件BSP 的特性分析,給出相關(guān)模型、協(xié)同性設(shè)計(jì)流程、Bootloader 以及BSP 主要過(guò)程。為嵌入式系統(tǒng)的設(shè)計(jì)與應(yīng)用提供有益的幫助。

0.引言

嵌入式技術(shù)被廣泛應(yīng)用于信息家器、消費(fèi)電子、交換機(jī)以及機(jī)器人等產(chǎn)品中,與通用計(jì)算機(jī)技術(shù)不同,嵌入式系統(tǒng)中計(jì)算機(jī)被置于應(yīng)用環(huán)境內(nèi)部特征不明顯。系統(tǒng)對(duì)性能、體積、以及時(shí)間等有較高的要求。復(fù)雜的嵌入式系統(tǒng)面向特定應(yīng)用環(huán)境,必須支持硬、軟件裁減,適應(yīng)系統(tǒng)對(duì)功能、成本以及功耗等要求。

0.1 嵌入式系統(tǒng)與協(xié)同性

從信息傳遞的電特性過(guò)程分析,嵌入式系統(tǒng)特征表現(xiàn)為,計(jì)算機(jī)技術(shù)與電子技術(shù)緊密結(jié)合,難以分清特定的物理外觀和功能,處理器與外設(shè)、存儲(chǔ)器等之間的信息交換主要以電平信號(hào)的形式在IC 間直接進(jìn)行。

從嵌入深度ED來(lái)看,信息交換在IC 間越直接、越多,嵌入深度就越大。

在設(shè)計(jì)實(shí)驗(yàn)系統(tǒng)模型(圖1)時(shí),充分考慮到軟硬協(xié)同性,使其成為一個(gè)實(shí)驗(yàn)與研究完備平臺(tái)。軟硬件協(xié)同性問(wèn)題涉及到協(xié)同性劃分技術(shù)和協(xié)同性設(shè)計(jì)技術(shù)。協(xié)同性核心問(wèn)題之一將涉及啟動(dòng)加載軟件Bootloader、系統(tǒng)板級(jí)支持包BSP 以及嵌入式OS 之間融合和移植。協(xié)同性設(shè)計(jì)技術(shù)與系統(tǒng)功能、性能以及開(kāi)發(fā)人員等因素相關(guān),其核心內(nèi)容為軟硬件的協(xié)同描述、驗(yàn)證和綜合提供一種集成環(huán)境。

嵌入式系統(tǒng)結(jié)構(gòu)模型

圖 1. 嵌入式系統(tǒng)結(jié)構(gòu)模型

0.2 沒(méi)有操作系統(tǒng)OS 的嵌入式系統(tǒng)

0.2.1 系統(tǒng)特點(diǎn)

由于系統(tǒng)的性質(zhì)、任務(wù)、成本等原因,沒(méi)有操作系統(tǒng)支持的嵌入式系統(tǒng)將繼續(xù)大量存在。這樣的系統(tǒng)使用專用開(kāi)發(fā)工具(如:仿真在線調(diào)試器ICE 等)。通過(guò)串口或并口在PC機(jī)上聯(lián)機(jī)調(diào)試程序,具有源代碼調(diào)試功能。

0.2.2 局限性分析

沒(méi)有OS 的系統(tǒng)按照“指令順序執(zhí)行+中斷”的模式運(yùn)行。在作者參與的早期程控交換機(jī)系統(tǒng)設(shè)計(jì)中,需要對(duì)不同端口量級(jí)(從10 到1000 等)的分機(jī)進(jìn)行實(shí)時(shí)處理。通過(guò)建立交換系統(tǒng)核心硬件層(存儲(chǔ)體、第一層I/O 等)以及用戶口地址等程序;然后建立定時(shí)和非定時(shí)事件、過(guò)程以及任務(wù)中斷鏈和任務(wù)表,應(yīng)用中斷對(duì)任務(wù)以及過(guò)程調(diào)度。設(shè)計(jì)人員要完成相當(dāng)于部分操作系統(tǒng)功能的編寫,導(dǎo)致軟件結(jié)構(gòu)復(fù)雜、工作量大尤其是重復(fù)勞動(dòng)。

0.3 具有OS 的嵌入式系統(tǒng)

圖1 的2 嵌入式系統(tǒng)就是具有嵌入式OS 的一種結(jié)構(gòu)模型。引入嵌入式OS 可以面對(duì)多種嵌入式處理器環(huán)境(如:MPU、DSP、SOC 等)提供類同的API 接口,使基于OS 上的程序具有較好的移植性。從協(xié)同劃分與設(shè)計(jì)技術(shù)出發(fā),通過(guò)嵌入式軟件的函數(shù)化、產(chǎn)品化能夠促進(jìn)分工專業(yè)化,減少重復(fù)勞動(dòng)。
[!--empirenews.page--]
1. Bootloader/BSP 特性

Bootloader 與BSP 配合,通過(guò)初始化硬件設(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)二次開(kāi)發(fā)以及減輕BSP的開(kāi)發(fā)難度、可移植提供有益幫助;同時(shí),也是保護(hù)硬件平臺(tái)設(shè)計(jì)知識(shí)產(chǎn)權(quán)的重要措施。

啟動(dòng)過(guò)程分單階段(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)過(guò)程。Bootloader 的存貯體和分區(qū):Flash/RAM/固態(tài)存貯器(圖2);Flash 存儲(chǔ)分區(qū)有連續(xù)和非連續(xù)兩種方式。當(dāng)系統(tǒng)需要多媒體等功能,用DOC(Disk ON Chip)技術(shù)解決大容量嵌入式OS 的存貯。

空間分配結(jié)構(gòu)示意圖

圖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)的過(guò)程中,應(yīng)從系統(tǒng)結(jié)構(gòu)和協(xié)同性角度,關(guān)注底層軟件的設(shè)計(jì)。bootloaer 和BSP構(gòu)成底層軟件設(shè)計(jì)的核心內(nèi)容,與硬件、過(guò)程、功能劃分結(jié)合緊密。

2.1 Bootloader 與BSP 協(xié)同性分析流程

首先用對(duì)任務(wù)所涉及的功能和過(guò)程進(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)性流程圖。

系統(tǒng)底層軟件結(jié)構(gòu)模型

圖 3. 系統(tǒng)底層軟件結(jié)構(gòu)模型

2.2 基于ARM-μCLinux 系統(tǒng)bootloader 設(shè)計(jì)

在系統(tǒng)結(jié)構(gòu)模型以及設(shè)計(jì)流程的基礎(chǔ)上,下面通過(guò)實(shí)例說(shuō)明bootloader 的主要設(shè)計(jì)過(guò)程。

基于ARM-μCLinux 嵌入式系統(tǒng)的啟動(dòng)引導(dǎo)過(guò)程:通過(guò)串口更新系統(tǒng)軟件平臺(tái),完成啟動(dòng)、初始化、操作系統(tǒng)內(nèi)核的固化和引導(dǎo)等。硬件平臺(tái)由內(nèi)嵌ARM10 的處理器、存儲(chǔ)器2MBFlash 和16MBSDRAM、串口以及以太網(wǎng)口組成。軟件平臺(tái)組成:系統(tǒng)引導(dǎo)程序、嵌入式操作系統(tǒng)內(nèi)核、文件系統(tǒng)。采用Flash 存儲(chǔ)bootloader、內(nèi)核等,直接訪問(wèn)內(nèi)核所在地址區(qū)間的首地址。
[!--empirenews.page--]
2.3 μCLinux 內(nèi)核的加載

系統(tǒng)采用μCLinux 自帶的引導(dǎo)程序加載內(nèi)核,用自舉模式和內(nèi)核啟動(dòng)模式相互切換;同時(shí),切換到內(nèi)核啟動(dòng)模式,自動(dòng)安全地啟動(dòng)系統(tǒng)。針對(duì)ARM7TDMI 的無(wú)MMU 特性,采用修改后的μCLinux 內(nèi)核引導(dǎo)程序加載操作系統(tǒng)和初始化環(huán)境,解決內(nèi)核加載的地址重映射問(wèn)題和操作系統(tǒng)的內(nèi)存管理問(wèn)題。

2.4 WinCE 系統(tǒng)下BootLoader

完成定制WinCE 的加載主要工作是編寫啟動(dòng)加載程序bootloader 和板級(jí)支持包BSP。Bootloader 涉及到基本的硬件操作,如CPU 的結(jié)構(gòu)、指令等,同時(shí)涉及以太網(wǎng)下載協(xié)議TFTP 和映像文件格式。Bootloader支持命令輸入的方式,不用人工干預(yù)加載WinCE,其主控部分通過(guò)串口來(lái)接收用戶的命令。

2.5 系統(tǒng)板級(jí)支持包BSP

由于硬件環(huán)境、Bootloader 映射范圍以及二次開(kāi)發(fā)等原因,系統(tǒng)啟動(dòng)加載程序Bootloader 不能把經(jīng)過(guò)裁剪的OS 直接引導(dǎo)進(jìn)入硬件環(huán)境,需要建立BSP 文件,如VxWorks 的BSP 和Linux 的BSP 相對(duì)于某一CPU 來(lái)說(shuō)盡管實(shí)現(xiàn)的功能一樣,寫法和接口定義可以完全不同。BSP 的結(jié)構(gòu)與內(nèi)容差異性較大,依據(jù)不同的系統(tǒng)和應(yīng)用環(huán)境,應(yīng)設(shè)計(jì)建立合理、穩(wěn)定的BSP 內(nèi)核。

2.6 交叉融合

在分析過(guò)程、任務(wù)劃分以及系統(tǒng)協(xié)同性的基礎(chǔ)上,對(duì)系統(tǒng)底層軟件設(shè)計(jì)應(yīng)考慮Bootloader、BSP、接口以及應(yīng)用程序交叉與融合。應(yīng)用 BSP 組成靈活性,設(shè)計(jì)充分考慮軟硬件協(xié)同。接口驅(qū)動(dòng)程序,如網(wǎng)絡(luò)驅(qū)動(dòng)、串口驅(qū)動(dòng)和系統(tǒng)下載調(diào)試、部分應(yīng)用程序可添加到BSP 中,從系統(tǒng)結(jié)構(gòu)的角度是,簡(jiǎn)化軟件層次和硬件尤其是存貯體系結(jié)構(gòu),當(dāng)操作系統(tǒng)運(yùn)行于硬件相對(duì)固定的系統(tǒng),BSP 也相對(duì)固定,不需要做任何改動(dòng),建立獨(dú)立的應(yīng)用程序包。如果BSP 中的應(yīng)用程序不斷升級(jí),將對(duì)系統(tǒng)穩(wěn)定性造成影響。

圖 4 表征了嵌入式系統(tǒng)三個(gè)軟件環(huán)節(jié)的結(jié)構(gòu)變化,Bootloader、BSP、接口驅(qū)動(dòng)程序以及部分應(yīng)用程序?qū)a(chǎn)生融合與交叉。對(duì)于一次開(kāi)發(fā)功能強(qiáng)大的嵌入式系統(tǒng),應(yīng)充分利用嵌入式處理器供應(yīng)商提供的Bootloader,使建立BSP 的過(guò)程變得相對(duì)容易。

軟件交叉與融合示意圖

圖 4. 軟件交叉與融合示意圖

3.結(jié)束語(yǔ)

通過(guò)對(duì)嵌入式系統(tǒng)結(jié)構(gòu)與協(xié)同性探討,分析了嵌入式系統(tǒng)的特點(diǎn)和協(xié)同性。應(yīng)用結(jié)構(gòu)協(xié)同思路與流程,建立一個(gè)結(jié)構(gòu)良好與嵌入式核心硬件層密切相關(guān)的 Bootloader 和BSP,對(duì)順利植入裁剪良好的OS、簡(jiǎn)化軟件結(jié)構(gòu)以及保護(hù)硬件平臺(tái)知識(shí)產(chǎn)權(quán)都有重要意義。嵌入式處理器種類多,系統(tǒng)結(jié)構(gòu)不盡相同,Bootloader 和BSP 的內(nèi)容隨之會(huì)產(chǎn)生差異,應(yīng)充分考慮系統(tǒng)協(xié)同問(wèn)題,避免傳統(tǒng)的多次設(shè)計(jì)、反復(fù)實(shí)驗(yàn)的方式,為實(shí)際應(yīng)用提供有益幫助。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉