<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

1.組件概述

本文引用地址:http://dyxdggzs.com/article/201609/304533.htm

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

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

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

2.組件構成

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

(1)NAME:一個(gè)可讀的名稱(chēng),在工程組件管理器中出現在組件圖標旁邊。

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

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

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

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

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

組件描述文件必須有.cdf后綴。所有的CDF文件名稱(chēng)以?xún)蓚€(gè)十進(jìn)制數字開(kāi)始(即00xxxx.cdf),開(kāi)始的這兩個(gè)數字控制一個(gè)目錄中CDF文件讀取順序。

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

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

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

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

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

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

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

4.組件的封裝規則

Wind River公司將部分組件安裝在其傳統位置上。

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

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

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

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

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

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

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

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

5.組件的可視化

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

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

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

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

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

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



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>