新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > VxWorks組件技術(shù)的研究

VxWorks組件技術(shù)的研究

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

1.組件概述

本文引用地址:http://m.butianyuan.cn/article/201609/304533.htm

VxWorks的配置和裁剪是以組件為基本單位。組件是VxWorks相對獨立和完整的一個功能模塊,也是系統(tǒng)中最小的、可升級的單元,它通常不再包含子節(jié)點。

VxWorks用CDF文件來描述系統(tǒng)中的組件。CDF(Common Data Format)稱作通用數(shù)據(jù)格式文件,是一種用于存儲數(shù)據(jù)、訪問多維數(shù)據(jù)集的文件格式。CDF文件的后綴為.cdf,用戶可以使用CDF文件非常方便地定義系統(tǒng)的特征參數(shù),描述一個組件,并將其配置到不同的系統(tǒng)中。

使用組件技術(shù),使用用戶在開發(fā)過程中能夠高效構(gòu)建VxWorks系統(tǒng),避免傳統(tǒng)構(gòu)造頭文件帶來的低效、復(fù)雜、易出錯等缺點。而且,Tornado 2.x的圖形配置工具和工程管理工具增強(qiáng)了組件相互依賴的可視性。

2.組件構(gòu)成

組件實際上是一個功能部件具體實現(xiàn)部分的描述信息,它定義了與組件相關(guān)的源代碼或目標(biāo)代碼、集成信息以及與組件相關(guān)的參數(shù)。組件包含以下元素:

(1)NAME:一個可讀的名稱,在工程組件管理器中出現(xiàn)在組件圖標(biāo)旁邊。

(2)SYNOPSIS:對組件的簡潔的描述。

(3)MODULES:與組件關(guān)聯(lián)的目標(biāo)文件。

(4)HDR_FILES:使用該組件時需要用到的相關(guān)頭文件。

(5)CFG_PARAMS:與組件相關(guān)的一些配置參數(shù),通常為一系列的宏。

3.組件描述文件的讀取順序

組件描述文件必須有.cdf后綴。所有的CDF文件名稱以兩個十進(jìn)制數(shù)字開始(即00xxxx.cdf),開始的這兩個數(shù)字控制一個目錄中CDF文件讀取順序。

組件描述文件通常在工程創(chuàng)建時被讀取,如果兩個文件描述同一組件的同樣特征,則它將讀取后一個而不考慮以前的。優(yōu)先權(quán)通常以兩種約定方式建立:

(1)CDF文件存放在確定目錄下。這些目錄以如下順序讀?。?/p>

1>$(WIND_BASE)targetconfigcompsVxWorks:包含一些通用組件;

2>$(WIND_BASE)targetconfigcompsVxWorksarcharch:包含特定體系結(jié)構(gòu)的組件;

3>$(WIND_BASE)targetconfigbsp:包含特定BSP的組件;

4>工程目錄:包含該工程的一些特定組件。

(2)在同一目錄下,文件頭部的兩個數(shù)字決定讀取順序。

4.組件的封裝規(guī)則

Wind River公司將部分組件安裝在其傳統(tǒng)位置上。

(1)源碼模塊可在target/src或target/config目錄下找到。

(2)標(biāo)題頭至于target/h中;目標(biāo)模塊在target/lib/objARCH中。

(3)組件描述文件在target/config/comps/VxWorks中。

(4)組件配置文件(源碼片段)位于target/config/copms/src。

第三方受限于這些規(guī)定,組件元素在組件描述文件中完全給出。建議第三方把組件源和目標(biāo)元素置于一個特定目錄下,如target/config/vendor_name。組件描述文件(CDF)的位置取決于組件集成在系統(tǒng)中的位置。

若要在一個完整系統(tǒng)中集成新的組件,CDF應(yīng)該置于target/config/comps/VxWorks目錄下。凡是在該文件夾下的說明這些配置通用于各種BSP。

若它是一個BSP特定組件,則應(yīng)該放在BSP目錄下,表示它是針對當(dāng)前BSP的特殊配置。若其特別服務(wù)一個單一工程,則它放在工程目錄(target/proj/project_name)下。

第三方組件不允許覆蓋WindRiver支持的文件,但可在其自身組件描述文件中忽略Wind River的組件描述。

5.組件的可視化

Vxworks通過CDF文件為Tornado配置工具提供了BSP的配置信息。Tornado集成開發(fā)環(huán)境使用CDF文件把文件夾、組件、參數(shù)、選項文件夾等配置項構(gòu)建成VxWorks系統(tǒng)的配置樹,通過VxWorks組件管理器界面供用戶查看和修改。

一旦我們創(chuàng)建了一個新的組件,那么在Tornado的VxWorks組件管理器中可以展開組件樹,找到新定義的組件,然后選擇配置或裁減。

(1)通過選擇include/exclude實現(xiàn)裁剪。在開發(fā)一個BSP的初期,往往需要裁減掉一些高級功能支持,先構(gòu)建一個支持時鐘中斷的最小內(nèi)核。調(diào)試通過后,逐步增加高級功能模塊組件支持,最后開發(fā)出一個功能相對完整的VxWorks操作系統(tǒng)。

(2)通過修改屬性參數(shù)(選項)實現(xiàn)配置。例如我們可能要到“VxWorks->hardware->memory->BSPMemory Configuration”中去修改一些內(nèi)存配置相關(guān)的宏。

當(dāng)然,一切都是代碼或腳本描述的,IDE只是一種可視化交互編輯環(huán)境。在Tornado運行期間,試圖去修改腳本或代碼可能不會實時同步體現(xiàn)到Tornado中,此時先關(guān)閉Tornado,修改完源文件再開啟Tornado重新加載,即可看到修改后的結(jié)果。在Tornado IDE中配置或裁減組件,在合適的時候(dependency or build)會反饋到源文件代碼中。

Tornado工程配置工具把收集到的用戶配置信息反饋體現(xiàn)到工程的相關(guān)源文件中,從而實現(xiàn)了VxWorks的自動配置和裁剪。組件包含開關(guān)宏(COMPONENTS INCLUDED)和宏參數(shù)(PARAMETERS)將體現(xiàn)在動態(tài)生成的prjParams.h和prjComps.h文件中。prjParams.h通常被config.h包含,prjComps.h將被targetconfigcompssrcconfigAll.h包含。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉