當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]分析基于μC/OS-II的嵌入式構(gòu)件系統(tǒng)設(shè)計

μC/OS-II 是一個源碼公開、可移植、可固化、可裁剪、占先式的實時多任務(wù)操作系統(tǒng),它適用于多種微處理器,微控制器和數(shù)字處理芯片。在所有實時操作系統(tǒng)中,μC/OS-II的源代碼幾乎是最整潔、編寫最一致的。自1992年問世以來,μC/OS-II已經(jīng)被應(yīng)用到數(shù)以百計的產(chǎn)品中。本文嘗試將構(gòu)件化軟件設(shè)計思想引入嵌入式軟件設(shè)計中,提出了一種適用于嵌入式軟件的基于構(gòu)件的軟件體系結(jié)構(gòu),并且在常用輸入設(shè)備鍵盤的應(yīng)用實踐中,驗證了此體系結(jié)構(gòu)的可行性。 

1 嵌入式構(gòu)件技術(shù) 

1.1 構(gòu) 件 

構(gòu)件可以視為一個通過接口對外界提供服務(wù)或向外界請求服務(wù)的黑盒,多個構(gòu)件可以組成一個更高層次的構(gòu)件,構(gòu)件比對象提供了更高的設(shè)計抽象。構(gòu)件是二進制可替換的,這個特點使它們與“類”有著顯著的不同。當(dāng)創(chuàng)建了一個構(gòu)件的修訂版本時,它可以替代同一構(gòu)件的原先版本,而不必重新編譯其他構(gòu)件。通常,只要一個構(gòu)件滿足相同的接口,就可替換另一個構(gòu)件,而不必對其他構(gòu)件做任何修改。因此,構(gòu)件能夠很好地解決更新、維護、分布和復(fù)用等諸多問題。 

構(gòu)件基本特征:可復(fù)用性、可封裝性、組裝性、可定制性、自治性、粗粒度、集成特征、接口連接機制。目前,構(gòu)建模型大致可分為2類:在面向?qū)ο蟮某绦蛟O(shè)計中,構(gòu)件即對象;在軟件體系結(jié)構(gòu)中,構(gòu)件即結(jié)構(gòu)單元。

1.2 嵌入式構(gòu)件 

1.2.1 嵌入式構(gòu)件模型 

嵌入式構(gòu)件為實現(xiàn)一定嵌入式系統(tǒng)功能的一組封裝的、規(guī)范的、可重用的、具有嵌入特性的軟件單元,是組成嵌入式系統(tǒng)的功能單位。它是被標準化的、具有重用性、支持QoS的、能夠提供實時應(yīng)用的軟件資源。 
 
每個嵌入式構(gòu)件由4部分構(gòu)成:構(gòu)件體、屬性、接口、依賴關(guān)系。圖1為基本構(gòu)件的示意圖。構(gòu)件體實現(xiàn)構(gòu)件的基本功能;屬性描述了構(gòu)件的基本信息;接口將構(gòu)件與外界連接,為外界提供服務(wù),每一種接口對應(yīng)一個不同的服務(wù);依賴關(guān)系標識構(gòu)件間的所有關(guān)系,用于實現(xiàn)構(gòu)件間的拼接。

 

1.2.2 嵌入式構(gòu)件屬性 

屬性是描述構(gòu)件某個方面特征的元數(shù)據(jù)。屬性定義了構(gòu)件查找的方法,可以根據(jù)任意一條屬性記錄快速找到符合條件的構(gòu)件。由于嵌入式構(gòu)件的特殊性,可以將嵌入式軟件構(gòu)件的屬性分為3種:描述屬性、約束屬性和服務(wù)質(zhì)量(QoS)屬性。 

(1)描述屬性 

描述屬性指的是一般構(gòu)件都具有的公共屬性。

(2)約束屬性 

約束屬性描述構(gòu)件所依賴的環(huán)境。約束屬性分為2類:描述絕大多數(shù)構(gòu)件都具有的公有約束屬性和描述單獨構(gòu)件特殊需求的專有約束屬性。公有約束屬性包括CPU類型、操作系統(tǒng)、依賴的類庫等。

(3)QoS屬性 

QoS屬性是嵌入式軟件構(gòu)件最重要的要素。為了選取合適的構(gòu)件來開發(fā)嵌入式系統(tǒng),必須考慮構(gòu)件的QoS屬性,以*估它所提供的性能指標。常見的QoS屬性包括平均執(zhí)行時間、最差執(zhí)行時間、最優(yōu)執(zhí)行時間、內(nèi)存消耗、功耗、健壯性、可靠性和安全性等。 

2 嵌入式軟件構(gòu)件設(shè)計 

2.1 μC/OS—II嵌入式實時操作系統(tǒng) 

μC/0S—II實時性強,可靠性高,對處理器以及ROM、RAM資源的要求不高;另外,它的代碼大部分用ANSI C語言編寫,只有少部分微處理器專用的代碼用匯編語言編寫,有利于程序的移植。 

2.2 基于構(gòu)件的嵌入式軟件體系結(jié)構(gòu) 

一個構(gòu)件系統(tǒng)的體系結(jié)構(gòu)由一系列定義的構(gòu)件框架和針對該框架設(shè)計的構(gòu)件間的相互作用關(guān)系組成。體系結(jié)構(gòu)是所要實現(xiàn)系統(tǒng)的整體規(guī)劃,它為構(gòu)件的組裝提供基礎(chǔ)框架和接口規(guī)范。 

目前,嵌入式構(gòu)件技術(shù)研究的核心之一是構(gòu)件模型和軟件體系結(jié)構(gòu)(軟件構(gòu)架)這兩個相互關(guān)聯(lián)的問題。不同的構(gòu)件只能在相應(yīng)的軟件構(gòu)架中使用,因此基于構(gòu)件的應(yīng)用軟件設(shè)計也可認為是基于體系結(jié)構(gòu)(構(gòu)架)的軟件設(shè)計,也稱之為基于“構(gòu)件一構(gòu)架”的應(yīng)用軟件設(shè)計。 
 
根據(jù)上述的嵌入式基本構(gòu)件模型,本文提出了一適用于嵌入式系統(tǒng)的軟件體系結(jié)構(gòu)。其中,定義“構(gòu)件系統(tǒng)”為一特定應(yīng)用,實現(xiàn)某一具體功能。另外,定義“構(gòu)件子系統(tǒng)”。它類似于UML中的包概念,代表元素的邏輯分組,將具體的應(yīng)用從實際問題中抽象出來,同時對各個關(guān)注區(qū)域進行相對分離,這樣做可以獨立地分析各個關(guān)注點,從而可以更好地分析系統(tǒng)的結(jié)構(gòu)。一個構(gòu)件子系統(tǒng)可以包含一個構(gòu)件或者是多個構(gòu)件的集合。 

硬件抽象層實現(xiàn)硬件的驅(qū)動、I/O控制,可以用于同一種硬件平臺的很多應(yīng)用中。OS層主要用于與操作系統(tǒng)相關(guān)的操作,包括系統(tǒng)任務(wù)的創(chuàng)建、消息的創(chuàng)建等。通信層實現(xiàn)數(shù)據(jù)的傳遞、數(shù)據(jù)格式的轉(zhuǎn)換。 

用戶接口層提供與底層應(yīng)用相關(guān)的基本操作函數(shù)、對外接口函數(shù),實現(xiàn)上下層之間的互操作。應(yīng)用層位于頂層,用于實現(xiàn)用戶的應(yīng)用程序。用戶無需關(guān)心底層的硬件結(jié)構(gòu),直接使用用戶接口層提供的基本操作函數(shù),即可編程實現(xiàn)自己需要的功能。   
 
分層的結(jié)構(gòu)設(shè)計保持了頂層與低層很好的一致性,實現(xiàn)了橫向分離;同時,原型的引用使得各層間的連接更為緊密,縱向相連,從而得到集成度更高、更可靠的系統(tǒng)。 

3 嵌入式構(gòu)件系統(tǒng)的實現(xiàn) 

3.1 鍵盤構(gòu)件系統(tǒng)的實現(xiàn) 

嵌入式構(gòu)件從本質(zhì)上來說,大部分的工作就是對輸入/輸出部分進行處理。其構(gòu)件主要有鍵盤、前向通道的處理(如A/D處理)、后向通道的處理(如D/A處理)、USB控制、網(wǎng)絡(luò)控制、液晶顯示等。輸入/輸出軟件的代碼占據(jù)了整個操作系統(tǒng)的相當(dāng)部分,對嵌入式操作系統(tǒng)來說,這部分的重要性是不言而喻的。其中,鍵盤更是嵌入式應(yīng)用程序最常用的器件,因此本文以鍵盤為例,依據(jù)上述體系結(jié)構(gòu)構(gòu)建了鍵盤應(yīng)用模型,配置實現(xiàn)了鍵盤功能。

圖2為鍵盤構(gòu)件系統(tǒng)分層體系結(jié)構(gòu)。每層左邊顯示的“棒棒糖”形狀表示層的接口,接口是一組可以從外部訪問的類和對象。虛線箭頭表示的是依賴關(guān)系,每層都依賴于其下一層的包,且構(gòu)件與構(gòu)件之間也存在著依賴關(guān)系。上層調(diào)用位于下層具體一些的層次中的服務(wù),這種單向依賴使得可以在不同的上下文中使用相同的服務(wù),而無需考慮服務(wù)的實現(xiàn)方式。

另外,圖2中的寬箭頭表明了數(shù)據(jù)的傳遞方向,數(shù)據(jù)在硬件抽象層取得后,逐級向上層傳遞,經(jīng)過層層處理、轉(zhuǎn)換,最終到達應(yīng)用層,被用戶程序所用。而此處,數(shù)據(jù)的傳輸過程其實也是一個原型的形成過程,即最終實現(xiàn)了一鍵盤響應(yīng)處理任務(wù)。 

3.2 構(gòu)件生成集成環(huán)境的實現(xiàn) 

基于構(gòu)件系統(tǒng)體系結(jié)構(gòu),本文擬開發(fā)了一構(gòu)件生成集成環(huán)境,如圖3所示。該環(huán)境可以實現(xiàn)構(gòu)件系統(tǒng)的自配置、自拼接、源代碼自生成,結(jié)構(gòu)清晰,使用簡便。隨后在該集成環(huán)境上,配置鍵盤構(gòu)件系統(tǒng),自動生成源代碼,并在博創(chuàng)ARM300實驗平臺上實現(xiàn)了鍵盤響應(yīng),很好地驗證了此體系結(jié)構(gòu)的可行性及優(yōu)越性。

本文擴展了通用軟件構(gòu)件的概念,提出了適用于嵌入式系統(tǒng)的構(gòu)件模型;并在此基礎(chǔ)上設(shè)計了嵌入式軟件6層體系結(jié)構(gòu),采用了分層的結(jié)構(gòu)設(shè)計,實現(xiàn)了橫向分離,而“原型”的引用使得各層縱向相連。此體系結(jié)構(gòu)不僅實現(xiàn)了軟硬件分離,同時也實現(xiàn)了功能的分離,有利于實現(xiàn)穩(wěn)定性好的嵌入式系統(tǒng)。最后,本文在鍵盤應(yīng)用實例中驗證了其可行性。隨著嵌入式系統(tǒng)的硬件發(fā)展,以及基于構(gòu)件的軟件設(shè)計方法自身的不斷完善,基于構(gòu)件的軟件設(shè)計方法必將是未來的發(fā)展方向。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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