

VxWorks組件技術(shù)的研究
- 期刊名字:計算機與數字工程
- 文件大?。?08kb
- 論文作者:馮永龍,艾明晶
- 作者單位:北京航空航天大學(xué)計算機學(xué)院
- 更新時(shí)間:2020-10-26
- 下載次數:次
計算機與數字工程第35卷VxWorks組件技術(shù)的研究'馮永龍"艾明晶’(北京航空航天大學(xué)計算機學(xué)院北京10083)摘要VxWorks 是-種高性能的嵌入式實(shí)時(shí)操作系統,其最重要的特點(diǎn)之一是可 裁剪性。組件技術(shù)的應用使得構建VxWorks更加高效。本文針VxWorks的組件技術(shù)進(jìn)行了分析,詳細地論述了組件的管理、創(chuàng )建和發(fā)布,同時(shí)也結合--些實(shí)例進(jìn)行了說(shuō)明。關(guān)鍵詞VxWorks;組件 描述語(yǔ)言( CDL) ;組件中圖分類(lèi)號TP316.2這些參數可以通過(guò)組件管理器來(lái)改變增加或刪除。1引言集成信息:控制- -個(gè)組件是如何集成到-一個(gè)可構建VxWorks的傳統方法是基于構造頭文件執行日標映像中去的;集成特征參數也定義了組件的,組件是Tornado 2. x使用的- -種新的配置方法,間的依賴(lài)關(guān)系。以便更好地適用于越來(lái)越復雜的VxWorks環(huán)境。用戶(hù)介紹:對組件的說(shuō)明。這種方法使用Tornado 2. x的圖形配置工具和工程組件描述語(yǔ)言支持很多目標類(lèi)型。隨著(zhù)組件管理工具,為用戶(hù)提供了一種可視化的配置手段,的增加,需要-一種有效的方法來(lái)管理這些組件,因目前約有300個(gè)可選擇的組件,組件技術(shù)已成為此就引人了文件夾、選集、組件、參數和初始化群組VxWorks進(jìn)行工程配置的標準方法。的概念,下面分別說(shuō)明:2.1文件夾 .2組件及組件描述語(yǔ)言組件是一一個(gè)可配置模塊的基本單元,也是系統Work space: Workspace3Build Sprfdofeult中最小的、可升級的單元。通過(guò)工程管理工具,用戶(hù)能很方便地添加或刪除-個(gè)組件,也可以修改一子. Vifuson shownoulines盧adapter rtelace thowtou些組件的參數,通常用組件描述文件( CDF)來(lái)描述系統中的一些組件,CDF文件的約定后綴為.cdf。i group met1age queue thor每個(gè)文件可定義不只一個(gè)組件。在Tormado 2. x開(kāi)application nitialization發(fā)工具中,代碼產(chǎn)生器能夠根據用戶(hù)所選擇的組件白申development tool componentCaxtoTEST rntim np配置,自動(dòng)輸出系統配置文件。過(guò)去用戶(hù)一般都通過(guò)修改配置文件( confg. h或configALL. h) ,來(lái)修Compiler support 1outines改系統所包含的一些特征?,F在,用戶(hù)可以使用WDB ogent componentsWoBagent services.CDF文件非常方便地定義系統的特征參數,描述一個(gè)組件,并將其配置到不同的系統中。組件描述Wndhiew component田中loader corponerlt:語(yǔ)言大致有以下4部分:國a show routines代碼:構造-一個(gè)工程使用的代碼。該代碼可以圖ymbol table componentI tarpet shel componerts是二進(jìn)制形式的目標文件或庫文件,也可以是源代碼的合集或子集。配置信息:提供豐富的特征參數用于描述組件,中國煤化工理器MHCNMHG收到本文時(shí)間:2006年2月20日作者簡(jiǎn)介;馮水龍,男,碩士研究生。研究方向:嵌入式系統。艾明晶,女,副教授。研究方向:計算機測控技術(shù)、電子系統設計和嵌人式系統。第35卷(2007)第9期計算機與數字工程53文件夾提供組件分組等級,通常文件夾里組件化人口程序。是邏輯相關(guān)的。在工程組件管理器中,文件夾對應.●. REQUIRES:如果該組件被包含, 則必須包于工程管理窗口-個(gè)可擴展樹(shù)節點(diǎn),如圖1所示。含一系列相關(guān)的組件。- 個(gè)文件夾可以包含很多相關(guān)的組件。文件●EXCLUDES:不能被該組件同時(shí)被包含的組件。夾里面的組件可被添加或單個(gè)地刪除,同時(shí)文件夾●INIT. BEFORE:指定在某個(gè)組件前初始化,還可以包含一個(gè)或更多的組件、選集和其他文件調用INIT. _RTN。夾。一個(gè)文件夾包含以下元累:●INIT_ AFTER:指定在某個(gè)組件后初始化,調..NAME:-一個(gè)易讀的名稱(chēng),在工程組件管理用INIT_ RTN。器中出現在文件夾圖標氟旁邊?!馤INK. _SYMS:連接符號,用于將相應的組件●SYNOPSIS:對一個(gè)文件夾的簡(jiǎn)潔的描述。編譯人映像,即使應用未使用該組件。.●CHLDREN:屬于這個(gè)文件夾的組件,文件INCLUDE WHEN:當一個(gè)組件被包含時(shí)設夾和選集稱(chēng)為子文件夾。定一個(gè)依賴(lài)關(guān)系能自動(dòng)地包含特定的組件?!馜EFAULTS:如果沒(méi)有使用任何選擇,就把●. CHILDREN:作為某個(gè)文件夾的子組件。文件夾加進(jìn)去,它將包含組件的默認值。文件夾中●_INIT_ ORDER:指定將INIT. _RTN調用加入組件的包含情況是可以動(dòng)態(tài)修改的。某個(gè)初始化群組( InitCroup)。2.2選集●HELP:與組件相關(guān)的參考專(zhuān)欄。選集類(lèi)似于文件夾,它們是一個(gè)共同接口的組●DEFAULTS:作為某個(gè)文件夾的默認組件。件。例如:串口驅動(dòng)器,WindView時(shí)標機制以及CONFIGLETTES:指定與配置有關(guān)的源文件。WDB通信接口等都是以選集的形式出現的。這些●BSP. STUBS(只用于tomado2.2):在第一次選集為相同的服務(wù)提供了多種選擇,選集中的成員使用時(shí),拷貝到BSP目錄中的通用配置源文件??梢允菃芜x也可是多選,分別為工程提供-一個(gè)或多●ARCHIVE;如果用戶(hù)的模塊不放在標準位個(gè)選擇。選集包含以下元素:置,使用ARCHIVE來(lái)指定存檔文件的名稱(chēng)?!馧AME:-一個(gè)可讀的名字,在工程組件管理2.4 參數器中出現在選集圖標&旁邊。參數是用戶(hù)配置系統的方式之一。對于組件,. SYNOPSIS:對選集的簡(jiǎn)潔的描述。通常都會(huì )有一一個(gè)或多個(gè)參數來(lái)控制其行為,參數包.COUNT:為該選集可用的選項設定一個(gè)最含以下元素:小值和-個(gè)最大值?!馧AME:一個(gè)可讀的名稱(chēng)。CHILDREN;可選擇的組件,類(lèi)似于文件夾●TYPE:參數的數據類(lèi)型,即uint、bool、string、中的子文件夾。它實(shí)際就是描述該選集向下的引或untyped等?!馜EFAULT:出現在工程管理器組件特性窗用關(guān)系。. DEFAULTS:依賴(lài)COUNT的組件默認值??诘膮当碇?如圖2所示。2.3組件組件實(shí)際上是-一個(gè)功能部件具體實(shí)現部分的描述信息,它定義了與組件相關(guān)的源代碼或目標代碼、集成信息以及與組件相關(guān)的參數。組件包含以下元素:. NAME:-一個(gè)可讀的名稱(chēng),在工程組件管理圈2組件參數的修改器中出現在組件圖標力旁邊。2.5初始化群組●SYNOPSIS;對組件的簡(jiǎn)潔的描述。初始化群組定義組件的先后關(guān)系。初始化群●MODULES:與組件關(guān)聯(lián)的目標文件?!馠DR._FILES:使用該組件時(shí)需要用到的相組中的代碼地T租工目△成到文件prjConfig. C中中國煤化工。初始化群組包關(guān)頭文件?!馛FG_ PARAMS: 與組件相關(guān)的- -些配置參含鴿HCNMHG數,通常為一系列的宏?!馧AME:初始化群組名稱(chēng)?!馡NIT_ RTN:包含該組件后需要執行的初始. SYNOPSIS:對初始化群組的說(shuō)明。)4馮水龍等:基于FPCA的字符顯示及其在實(shí)時(shí)圖像處理系統中的應用第35卷●INIT RITN:初始化程序初始化一個(gè)相關(guān)的為創(chuàng )建一一個(gè)新的組件, 首先要給它命名,并為組件。其準備一個(gè)簡(jiǎn)單的描述信息?!馡NIT. _ORDER:按照它們初始化順序所陳列Component INCLUDE F00|的屬于這個(gè)初始化群組的組件和初始化群組。NAME foo componentSYNOPSIS this is an example component3創(chuàng )建組件當用戶(hù)使用組件描述語(yǔ)言創(chuàng )建組件時(shí)必須遵循一些約定。在一個(gè)組件描述文件中組件描述之在聲明的組件INCLUDE_ F00中,名稱(chēng)和描述后,用戶(hù)必須把相應的文件以及包含等級中的組件僅是用戶(hù)對組件的說(shuō)明,而初始化順序和依賴(lài)性并放在合適的路徑下才能保證工程管理工具讀出所無(wú)影響。需的信息。當使用組件描述文件時(shí),必須遵循以下②描述與代碼相關(guān)的部分用戶(hù)要通過(guò)定義模塊來(lái)描述用戶(hù)組件的代碼規則: .部分。如果用戶(hù)組件INCLUDE_ F00有與其相關(guān)組件以INCLUDE F00的形式命名;的目標模塊或源代碼,則可采用多種方式來(lái)指定這●文件夾以FOLDER. _F00的形式命名;一信息。選集以SELECT. F00的形式命名;MODULES fooLib. o fooShow. o●參數名稱(chēng)不能與任何其他目標類(lèi)的名稱(chēng)相HDR_ FILES fo. h同,除此以外沒(méi)有任何限制;ARCHIVE foLlib.a●初始化群組必須以initFoo形式命名。CONFIGLETTES fcConfig. c●.組件描述文件必須有. cdf后綴;使用HDR FILES屬性來(lái)指定任何與組件相關(guān)●所有的CDF文件名稱(chēng)以?xún)蓚€(gè)十進(jìn)制數字的頭文件,如foo. h。使用CONFIGLETTES屬性指開(kāi)始(即0xxx cdf) ,開(kāi)始的這兩個(gè)數字控制一定與配置有關(guān)的文件名稱(chēng)(如foConfig. c),配置個(gè)目錄中CDF文件讀取順序?;虺跏蓟绦蛑袘婕敖M件中的參數,否則該組件組件描述文件通常在工程創(chuàng )建時(shí)被讀取,如果沒(méi)有任何作用。兩個(gè)文件描述同一個(gè)組件的同樣特征,則它將讀?、墼O定初始值后一個(gè)而不考慮以前的。優(yōu)先權通常以?xún)煞N約定如果用戶(hù)的組件存在初始化代碼,則可使用組方式建立:件目標類(lèi)的INT_ RTN來(lái)指定初始化程序,例如:(1)CDF文件存放在確定目錄下。這些目錄INIT RTN foInit( arg1 ,arg2);以如下順序讀取:如果用戶(hù)使用組件目標以外的模塊,則可通過(guò)①$( WIND_ BASE) \target \confg \comps \Vx-LINK_ SYMS獲取-一個(gè)外部連接:Works:包含一些通用組件;LINK_ SYMS fooRtnl②$( WIND_ BASE) \target \config \comps \Vx-④建立初始化順序Works\arch larch:包含特定體系結構的組件;一個(gè)被聲明為某個(gè)初始化群組中的組件,默認③$( WIND_ BASE) \target \config\bsp:包含特情況下會(huì )在該群組的最后被初始化;用戶(hù)也可以通定BSP的組件;過(guò)使用INIT_BEFORE來(lái)改變這種默認情況。④工程日錄:包含該工程的一些特定組件。例如:(2)在同一-個(gè)目錄中,文件頭部的2個(gè)數字決_INIT_ ORDER verRoot定讀取順序。INT_ BEFORE INCLUDE USER_ APPL在一個(gè)目錄中,系統會(huì )根據每個(gè)CDF文件名在上例中, INCLUDE_ F00被聲明為usrRoot的前2個(gè)數字來(lái)決定讀取的順序,風(fēng)河公司保留開(kāi)初始化群組的成員之一,并在INCLUDE . . USER_始的50個(gè)數字,0xxx. cdf ~ 49xxxx. cdf,剩下的APPL之前被初始化。用戶(hù)還可以有另- -種選擇,數字(50~99)預留為第三方。這些編號的優(yōu)先級即創(chuàng )聲明INCLUDE_中國煤化工是數值大的優(yōu)先讀取。用戶(hù)創(chuàng )建一個(gè)新的組件要F00根據內容的特性和優(yōu)先級別將其放在適當的路徑YHCNMHG下。創(chuàng )建組件的過(guò)程如下:如果該組件有相關(guān)幫助文檔,則可使用HELP①命名指定相關(guān)參考條目(HTML格式)。例如;第35卷(2007)第9期計算機與數字工程65HELP fooMan. html文件的讀取順序相關(guān)內容)。在下面這個(gè)例子中。⑥定義從屬物標準Wind River組件INCLUDE_ I0 -使用REQUIRES、EXCLUDES和INCLUDE__SYSTEM中的打開(kāi)文件描述符(NUM_WHEN來(lái)聲明組件之間的依賴(lài)關(guān)系。FILES)的數量被更改了。默認值是50。⑦列出相關(guān)參數Parameter NUM_ FILES {在組件目標中,使用CFG _PARAMS來(lái)聲明所DEFAULT 75有相關(guān)的參數。例如:通過(guò)把例子中的那- -系列代碼加到第三部分CFG_ PARAMS F00_ MAX. COUNTCDF文件中。如果組件已經(jīng)存在于配置文件中通⑧定義參數對于每個(gè)CFG _PARAMS中聲明的參數,還必過(guò)去除或是增加組件,以及通過(guò)重建工程,NUM_FILES的值被改變到75。須進(jìn)一步說(shuō)明其類(lèi)型以及默認值。Parameter F00_ MAX_ COUNT{4測試新組件NAME Foo maximumTYPE uint用戶(hù)可以進(jìn)行幾個(gè)測試來(lái)校驗組件的正確性:DEFAULT 50(1)核對語(yǔ)法和語(yǔ)義這是最簡(jiǎn)單的校驗測試,首先編輯文件⑨定義群組成員$ ( WIND - BASE )/hosU/ resource/c/app - config/-一個(gè)組件必須與-一個(gè)文件夾或-個(gè)選集聯(lián)系,Project/cmpTestLib. tcl,設置一個(gè)有效的BSP目錄否則它在工程管理工具中將是不可見(jiàn)的。例如:名(mv162) ,然后運行cmplet:_CHILDREN F0LDER_ ROOT> cd $( WIND - BASE)/host/ reoure/tcl/ app - .config/_CHILDREN 聲明INCLUDE_ F00是文件夾Project> wtxtclFOLDER_ ROOT的子組件。wtutel > source ecmTestLib. tel①創(chuàng )建虛擬組件wtxtel > cmpTest只有當工程I具與包含的組件聯(lián)系起來(lái)時(shí),它句法和語(yǔ)義的錯誤可以通過(guò)empTest測試來(lái)才會(huì )分析相關(guān)的目標文件(庫文件或OBJ文件)。排除;根據測試輸 出做出相應改變,直至運行該測這就產(chǎn)生了-一個(gè)問(wèn)題:為了了解一個(gè)特殊的目標文試沒(méi)有錯誤。件,工程工具需在組件真正被包含進(jìn)去之前分析它(2)核對組件從屬物們。也就是說(shuō),如果用戶(hù)把ARCHIVE聲明的組件用戶(hù)可以通過(guò)運行cmpInfo來(lái)測試用戶(hù)組件加進(jìn)去,則配置分析會(huì )在不知道ARCHIVE值的情中的依賴(lài)關(guān)系。例如:況下完成。所以,如果用戶(hù)的組件包含一個(gè)庫文件wtxtcl > cmpinfo < component name >以及幾個(gè)目標模塊,則用戶(hù)應創(chuàng )建一個(gè)虛擬組件。(3)核對工程工具組件等級這個(gè)虛擬組件是始終要被包含的,它使工程工具知通過(guò)核對工程工具組件等級來(lái)確認用戶(hù)所添道一個(gè)新的文件應被讀取;這個(gè)組件可以稱(chēng)為IN-加的選集、文件和新組件是否被正確包含。打開(kāi)STALL F00,它應包含NAME、SYNOPSIS和AR-“工程工具"進(jìn)人VxWorks,查看新組件是如何出現CHIVE。在INSTALL_ F00被添加進(jìn)去之前,用戶(hù)在文件樹(shù)中的。調用Properties來(lái)核對與一個(gè)組件不能增加來(lái)自相同組件的其他組件。相關(guān)的參數及其默認值。①產(chǎn)生工程文件工程工具會(huì )自動(dòng)根據組件的描述信息和配置5發(fā)布組件來(lái)為每個(gè)工程創(chuàng )建一個(gè)配置文件( prjConfig.c)。發(fā)布一個(gè)Tomado組件的過(guò)程排除對-一個(gè)現(3)修改組件存的配置文件修改的可能性。新的組件描述文件在更高優(yōu)先級別的CDF文件中通過(guò)重新指定應該與現在的文件無(wú)關(guān)有以!下兩種例外:已存在的組件來(lái)修改它們。傳統的第三部分的中國煤化工文件夾或選集相CDF文件是被最后讀取的,因此有最高優(yōu)先權。關(guān)聯(lián)MHCNMHG使用賦名可創(chuàng )建一一個(gè)更高優(yōu)先級的CDF文件,它, 新的組件初始化程序與-一個(gè)現存的初始化超越Wind River 的任何默認組件(參考前面CDF群組 相關(guān)聯(lián)。66馮永龍等:基于FPCA的字符顯示及其在實(shí)時(shí)圖像處理系統中的應用第35卷可以通過(guò)組件參數“. CHILDREN"把-一個(gè)新的若它是一個(gè)BSP特定組件,則應該放在BSP目錄組件連接到一個(gè)現存的文件夾或選集或一個(gè)現存下。若其特別服務(wù)-一個(gè)單一工程,則它應放在工程的初始化群組中,并且它不修改現存的元素。。目錄( target/ proj (project .name)下。用戶(hù)可以一次發(fā)布不止一個(gè)組件,因為一個(gè)第三方組件不允許覆蓋Wind River 支持的文CDF可定義不止-一個(gè)組件。還可以同時(shí)發(fā)布任何件,但可在其自身組件描述文件中忽略Wind River數量的CDFs。的組件描述。6組件封裝7結論WindRiver公司將部分組件安裝在其傳統位使用組件技術(shù),使得用戶(hù)在開(kāi)發(fā)過(guò)程中能夠高置上。效地構建VxWorks系統,避免傳統構造頭文件帶源碼模塊可在target/sre或target/con - fig來(lái)的低效復雜易出錯等缺點(diǎn)。而且,Tomado 2. x目錄下找到。.的圖形配置工具和工程管理工具增強了組件相互●標題頭置于target/h 中;目標模塊在target/依賴(lài)的可視性。筆者根據實(shí)際需求,選取了部分系lib/objARCH中。統組件和第三方提供的組件,快速構建了一個(gè)Vx-●組件描述描述文件在target/config/Works系統,充分體會(huì )到了組件技術(shù)的優(yōu)點(diǎn)。comps/VxWorks中。參考文獻●組件配置文件(源碼片斷)位于target/[1]李忠民,楊剛,顧亦然,劉尚軍等. ARM嵌人式VxWorks實(shí)踐教程[ M].北京:北京航空航天學(xué)出版社,2006config/ comps/ srC。第三方受限于這些規定,組件元素在組件描述[2]Wind River著(zhù)王金剛,蘇琪,楊錫勵等譯. VxWorks BSP文件中完全給出。建議第三方把組件源和目標元開(kāi)發(fā)人員指南[M].北京:清華大學(xué)出版社,2003[3 ]陳智育,溫彥軍,陳琪等. VxWorks程序開(kāi)發(fā)實(shí)踐[ M].素置于一個(gè)特定目錄下,如target/ config/ve -北京:人民郵電出版社,2004ndor_ .name。 組件描述文件( CDF)的位置取決[4]孔祥營(yíng),柏佳枝.嵌人式實(shí)時(shí)操作系統VxWorks及其開(kāi)于組件集成在系統中的位置。發(fā)環(huán)境Torado. M].北京:中國電力出版社,2002若要在一個(gè)完整系統中集成新的組件,CDF[5] Wind River Systems Ine. VxWorks5. 5 BSP Developer's應該置于target/ config/ comps/VxWorks目錄下。guide. U. S. A, 2002(上接第8頁(yè))ine - conmerce[A]. In ACM Conference on Electronic此外,本系統產(chǎn)生的客戶(hù)/產(chǎn)品/時(shí)間匹配矩陣Commeree (EC - 99)[C]. New York: ACM Press,一方面可以幫助客戶(hù)推薦合適的產(chǎn)品,有效進(jìn)行客1999. 158 ~ 166.戶(hù)關(guān)系管理,另一方面也可以為銀行產(chǎn)品迅速定位[2] Konavir, Provost F. Applications of data mining to elec-tronic commerce[J]. Data Mining and Knowledge Discov-目標市場(chǎng),有效支持銀行市場(chǎng)營(yíng)銷(xiāo)活動(dòng)。ery, 2001, 5(1~2):5 ~10.銀行產(chǎn)品推薦有別于一般電子商務(wù)網(wǎng)站所銷(xiāo)[3]Schafer J B, KosntanJ A, Riedl J. E - commence Recom-售產(chǎn)品的推薦過(guò)程,它是建立于銀行內部的系統,mendation Applieation [ Z]. Data Mining and Knowledge并不直接與客戶(hù)對話(huà),而是通過(guò)CRM部門(mén)或市場(chǎng)Discovery, 2001.營(yíng)銷(xiāo)部門(mén)間接體現其推薦的結果和效用。隨著(zhù)呼[4]Sarwar, B. M,Karypis, C., Konstan, J. A, and叫中心的不斷成熟,網(wǎng)上銀行的更高點(diǎn)擊以及無(wú)線(xiàn)Riedl, J Application of Dimensionality Reduction in Rec-網(wǎng)絡(luò )服務(wù)的更多需求,銀行產(chǎn)品推薦也將越來(lái)越多ommender System- A Case Study. In ACM Web KDD的直接與客戶(hù)面對面,其實(shí)現模式和系統效率要求2000 Workshop, 2000.將對推薦系統提出更高的要求。[5]D中國煤化I_lybrid Approaches t0_istomer Lifetime Val-MYHCNMHGumaldfSystemandSoftware 77(2005) : 181~ 191.[1]Schafer J B, Kosnlan J A, Riedl J. Reconmender systems
-
C4烯烴制丙烯催化劑 2020-10-26
-
煤基聚乙醇酸技術(shù)進(jìn)展 2020-10-26
-
生物質(zhì)能的應用工程 2020-10-26
-
我國甲醇工業(yè)現狀 2020-10-26
-
JB/T 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術(shù)規程 2020-10-26
-
石油化工設備腐蝕與防護參考書(shū)十本免費下載,絕版珍藏 2020-10-26
-
四噴嘴水煤漿氣化爐工業(yè)應用情況簡(jiǎn)介 2020-10-26
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-10-26
-
甲醇制芳烴研究進(jìn)展 2020-10-26
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進(jìn)展 2020-10-26