《Workbench30VXWORKS66集成環(huán)境使用指導(dǎo)》_第1頁(yè)
《Workbench30VXWORKS66集成環(huán)境使用指導(dǎo)》_第2頁(yè)
《Workbench30VXWORKS66集成環(huán)境使用指導(dǎo)》_第3頁(yè)
《Workbench30VXWORKS66集成環(huán)境使用指導(dǎo)》_第4頁(yè)
《Workbench30VXWORKS66集成環(huán)境使用指導(dǎo)》_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式實(shí)時(shí)操作系統(tǒng)

風(fēng)河VXWORKS6.6集成環(huán)境使用指導(dǎo)第一頁(yè),共五十九頁(yè)。目錄第一部分VxWorks/worksbench3.0簡(jiǎn)介第二部分worksbench3.0/Tornado2.2比較第三部分worksbench3.0的工程視圖第四部分建立一個(gè)例子工程第五部分建立交叉開發(fā)環(huán)境第二頁(yè),共五十九頁(yè)。第一部分VxWorks簡(jiǎn)介workbench介紹第三頁(yè),共五十九頁(yè)。嵌入式實(shí)時(shí)操作系統(tǒng)VXWORKSVxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)涉及的領(lǐng)域包括:過(guò)程控制(化工、食品加工);機(jī)器人(制造、自動(dòng)操作控制);航空電子(飛行管理、GPS、噴氣發(fā)動(dòng)機(jī)控制);軍事(武器管理、密碼);數(shù)據(jù)處理(采集、信號(hào)處理);通信(稅收機(jī)、數(shù)字電話);家電(微波爐、洗衣機(jī)、空調(diào))計(jì)算機(jī)外圍設(shè)備(打印機(jī)、Modem)等。第四頁(yè),共五十九頁(yè)。一、VxWorks的特點(diǎn)

*可靠性

*實(shí)時(shí)性

*可裁減性

二、對(duì)一個(gè)實(shí)時(shí)內(nèi)核的要求

*多任務(wù)

*搶占調(diào)度

*任務(wù)間的通訊與同步

*任務(wù)與中斷之間的通信第五頁(yè),共五十九頁(yè)。三、VxWorks的基本結(jié)構(gòu)板級(jí)支持包BSP微內(nèi)核wind網(wǎng)絡(luò)系統(tǒng)文件系統(tǒng)I/O系統(tǒng)第六頁(yè),共五十九頁(yè)。WindRiverWorkbench一、風(fēng)河workbench3.0的特征風(fēng)河workbench3.0是基于Eclipse平臺(tái)發(fā)展出的開發(fā)工具,提供非常有效的方式去開發(fā)實(shí)時(shí)嵌入式的應(yīng)用程序,而不必過(guò)多的依賴于目標(biāo)系統(tǒng)。風(fēng)河Workbench可運(yùn)行在Windows、Linux、和Solaris主機(jī)上。而本文檔只介紹在Windows主機(jī)上使用Workbench3.0。第七頁(yè),共五十九頁(yè)。使用WindRiverWorkbench的好處Workbench的“七多”優(yōu)勢(shì):多任務(wù)多目標(biāo)多模式多OS多CPU多連接形式多主機(jī)環(huán)境第八頁(yè),共五十九頁(yè)。二、風(fēng)河Workbench3.0的應(yīng)用組件第九頁(yè),共五十九頁(yè)。三、基于Eclipse的概念1.窗口(Window)2.工作空間(Workspace)3.Workspace的目錄4.包含多于一個(gè)的工作空間(workspace)5.透視圖(Perspectives)6.視圖(Views)7.編輯器(Editors)8.工程(Projects)9.訪問(wèn)和查找workbench上下文關(guān)聯(lián)的幫助信息第十頁(yè),共五十九頁(yè)。四、理解Cross-Development(交叉開發(fā))的概念主機(jī)系統(tǒng)需要足夠大小

的RAM、磁盤空間、備份媒介、打印輸出和其他外圍設(shè)備。目標(biāo)系統(tǒng)所需的資源用于實(shí)時(shí)的應(yīng)用和一些的附加資源用于測(cè)試和調(diào)試第十一頁(yè),共五十九頁(yè)。2、要做的工作A.在主機(jī)上的工作

如果你在主機(jī)系統(tǒng)編寫代碼,那么就要管理工程文件;編輯、編譯、鏈接,保存你自己的各種格式的實(shí)時(shí)代碼,并且配置操作系統(tǒng)以便于最終能夠在目標(biāo)系統(tǒng)上運(yùn)行這些代碼。B.連接目標(biāo)系統(tǒng)到主機(jī)

有很多可供選擇的方案用于連接目標(biāo)系統(tǒng)到主機(jī),比如:通過(guò)網(wǎng)絡(luò)、串口、或者JTAG。C.運(yùn)行應(yīng)用程序

運(yùn)行期間(Run-time)的代碼代表著最終的應(yīng)用,其中包括:內(nèi)核、開發(fā)者自己的具有特殊功用的代碼,和選擇調(diào)用的與庫(kù)文件有關(guān)的代碼。運(yùn)行期間的代碼并不一定屬于目標(biāo)代理(targetagent),即使在一個(gè)典型的開發(fā)和調(diào)試中包含它。第十二頁(yè),共五十九頁(yè)。第二部分worksbench3.0/Tornado2.2比較第十三頁(yè),共五十九頁(yè)。Workbench3.0平臺(tái)相對(duì)于Tornado2.2平臺(tái)來(lái)說(shuō),各項(xiàng)功能均有所增強(qiáng),也有不少新加入的功能,主要的功能對(duì)比如下:工程管理工程項(xiàng)目編輯器斷點(diǎn)設(shè)置仿真環(huán)境目標(biāo)連接下載的代碼量目標(biāo)操作系統(tǒng)目標(biāo)系統(tǒng)數(shù)目多任務(wù)調(diào)試第三方工具第十四頁(yè),共五十九頁(yè)。第三部分工程視圖一、Workspace/Project的設(shè)置二、各工程類型結(jié)構(gòu)三、創(chuàng)建一個(gè)新工程四、組織工程結(jié)構(gòu)五、工程的特殊執(zhí)行環(huán)境第十五頁(yè),共五十九頁(yè)。一、Workspace/Project的設(shè)置1.在workspace建立工程

所建的工程還沒(méi)有建立源文件;所建的工程已經(jīng)存在源文件,但需要添加進(jìn)工程;所建的工程不允許設(shè)置在源文件目錄處。2.在workspace外部建立工程;

所建的工程建立在已有的源文件之上,改變工程目錄之后需要對(duì)源文件進(jìn)行添加和鏈接;所建的工程需要版本控制,而被放置在workspace之外。3.將工程建立在workspace之內(nèi)但是連接到外部位置

所建的工程不允許設(shè)置在源文件目錄處;所建的工程因?yàn)殚_發(fā)團(tuán)隊(duì)的成員有自己的工程,并且共享了部分源文件(通常為只讀的)。這種選擇就避免在團(tuán)隊(duì)成員之間通過(guò)Workbench互相配合工作是需要建立的象征性的連接。第十六頁(yè),共五十九頁(yè)。二、各工程類型結(jié)構(gòu)1.VxWorksImageProject(VIP)2.VxWorksBootLoader/BSPProject(BSP)3.VxWorksDownloadableKernelModuleProject(DKM)4.VxWorksReal-timeProcessProject(RTP)5.VxWorksSharedLibraryProject(Libs)6.VxWorksROMFSProject(ROMFS)7.User-DefinedProjects(UDP)8.NativeApplicationProject(NAP)第十七頁(yè),共五十九頁(yè)。三、創(chuàng)建一個(gè)新工程(Projects)點(diǎn)擊工具按鈕或者選擇>WindRiverWorkbenchProject創(chuàng)建一個(gè)之前配置好的工程,或者是創(chuàng)建一個(gè)特殊類型的工程;也可以選擇File>New>Example打開一個(gè)例子工程。1.工程創(chuàng)建之后的修改在相應(yīng)工程的"projectproperties"界面進(jìn)行修改。2.工程的結(jié)構(gòu)設(shè)置選中ProjectReferences>AddasProjectReference,在彈出的菜單里就可以設(shè)定個(gè)工程之間的結(jié)構(gòu)關(guān)系。3.工程與應(yīng)用程序(ApplicationCode)工程以一種或幾種類型管理應(yīng)用程序文件??梢詫⒁粋€(gè)與Workbench兼容的工程整個(gè)加入,也可以添加新的或者已經(jīng)存在的源程序文件。選擇File>Import打開“ImportFile”。第十八頁(yè),共五十九頁(yè)。四、工程和工程結(jié)構(gòu)所有獨(dú)立的工程內(nèi)部都包含和其他任一工程無(wú)關(guān)的模塊,在系統(tǒng)開始是都是單個(gè)的和沒(méi)有經(jīng)過(guò)組織的。所以使用者可以在workbench下通過(guò)工程之間的依賴關(guān)系和編譯命令整體組織各個(gè)工程。通過(guò)workbench可以很方便的組織各工程,但是有的工程不能作為某個(gè)工程的子工程或者是同種類型的工程,這樣的關(guān)聯(lián)是不允許的。第十九頁(yè),共五十九頁(yè)。1.給一個(gè)工程加入子工程

Workbench可以通過(guò)多種的方式創(chuàng)建子工程或者超級(jí)工程(subproject/superproject)結(jié)構(gòu):A 、在ProjectExplorer窗口,選擇ProjectReferences>AddasProjectReference或者在Project菜單選擇AddasProjectReference。B、在ProjectExplorer窗口,選擇Properties再選ProjectReferences或者選擇Project>Properties。然后選擇ProjectReferences,之后進(jìn)行設(shè)置。

Workbench確認(rèn)子工程和超級(jí)工程之間的關(guān)系是基于工程類型和目標(biāo)操作系統(tǒng)的。有些關(guān)系是不允許的。比如,Real-timeProcess工程不能作為VxWorksImage工程的子工程,但是可以加入到ROMFS工程。通常,一個(gè)user-defined工程在選用一個(gè)合適的目標(biāo)操作系統(tǒng)的情況下可以作為任一工程的子工程或是超級(jí)工程。第二十頁(yè),共五十九頁(yè)。2.移除子工程A、在ProjectExplorer窗口,選擇ProjectReferences>RemoveProjectReference或者在Project菜單選擇RemoveProjectReference。B、在ProjectExplorer窗口,選擇Properties再選ProjectReferences或者選擇Project>Properties。然后選擇ProjectReferences,之后進(jìn)行移除。第二十一頁(yè),共五十九頁(yè)。3.工程結(jié)構(gòu)和主機(jī)文件系統(tǒng)結(jié)構(gòu)

Workbench工程在樹狀目錄的頂部,其他子目錄會(huì)自動(dòng)包含在此樹狀目錄之下。不要試圖通過(guò)子目錄建立工程建的連接關(guān)系,這樣是不允許的,因?yàn)闀?huì)造成工程的重疊。第二十二頁(yè),共五十九頁(yè)。4.工程結(jié)構(gòu)和編譯系統(tǒng)編譯先從頂部開始,再逐層深入到內(nèi)部的枝葉最后回到頂部,完成編譯第二十三頁(yè),共五十九頁(yè)。5.工程結(jié)構(gòu)和共享子工程

一個(gè)實(shí)際的工程可以關(guān)聯(lián)任意數(shù)量的邏輯工程。產(chǎn)品的升級(jí)或者編譯共享工程亦或組件的變化,都會(huì)影響到關(guān)聯(lián)共享工程的工程結(jié)構(gòu)。6.自定義編譯共享工程

一個(gè)單獨(dú)的文件系統(tǒng)文件夾可以像子工程一樣添加到多個(gè)邏輯工程結(jié)構(gòu)。這種情況下,可以根據(jù)需要為每個(gè)工程指定不同的依賴編譯規(guī)格。

同一個(gè)文件夾可以在同一個(gè)工程中指定不同的編譯規(guī)格。

如果為工程整體制定了一種編譯規(guī)格,那么子文件夾也會(huì)運(yùn)行這種編譯規(guī)格,為其指定的特殊的編譯規(guī)則自然就被排除在外。第二十四頁(yè),共五十九頁(yè)。五、工程的特殊執(zhí)行環(huán)境如果需要為每個(gè)工程保存不同的編譯和外部工具執(zhí)行的環(huán)境,Workbench允許使用者創(chuàng)建一個(gè)perties文件,為每個(gè)工程定義工具、工具版本、環(huán)境變量等內(nèi)容。1.在shell中使用perties文件

選擇projects>openworkbenchdevelopmentshell,在打開的shell中,選擇一個(gè)工程模板,從一個(gè)已經(jīng)存在的properties文件中往模版中加入相應(yīng)的內(nèi)容。2.使用perties文件的局限

*不能去除已經(jīng)包含的內(nèi)容;*不做在文件中設(shè)置的路徑(PATH)擴(kuò)展。*不能夠把perties文件用在NativeApplication工程;第二十五頁(yè),共五十九頁(yè)。第四部分建立一個(gè)例子工程一、創(chuàng)建一個(gè)例子工程并運(yùn)行程序二、編輯和調(diào)試源程序三、使用編輯器的高級(jí)特性第二十六頁(yè),共五十九頁(yè)。一、創(chuàng)建一個(gè)例子工程并運(yùn)行程序1.創(chuàng)建一個(gè)例子工程a.選擇File>New>WindRiverWorkbenchProject。會(huì)出現(xiàn)NewWindRiverWorkbenchProject對(duì)話框。b.從Targetoperatingsystem下拉選擇菜單選擇WindRiverVxWorks6.x,點(diǎn)擊Next。c.從Buildtype下拉選擇菜單選擇DownloadableKernelModule點(diǎn)擊ClickNext。d.在ProjectName區(qū)域,輸入ball。在本指導(dǎo)說(shuō)明中都保持Createprojectinworkspace選項(xiàng),點(diǎn)擊Finish。一個(gè)名稱為“ball”的工程出現(xiàn)在workbench的工程窗口。第二十七頁(yè),共五十九頁(yè)。2.把源文件添加到工程a.鼠標(biāo)右擊ball工程文件夾,然后選擇“Import......”出現(xiàn)一個(gè)添加導(dǎo)航界面。b.選擇General,然后是,然后點(diǎn)擊Next。出現(xiàn)一個(gè)為Import導(dǎo)航的界面。c.點(diǎn)擊Browse按鈕出現(xiàn)一個(gè)可做Import的選擇目錄。d.跳轉(zhuǎn)到installDir\workbench-3.x\samples目錄,選擇ball,然后點(diǎn)擊OK,這時(shí)頁(yè)面出現(xiàn),ball文件夾在左面的小窗口,這個(gè)文件夾下的文件在右面的小窗口。e.選擇ball的相應(yīng)選項(xiàng)自動(dòng)添加文件到工程中,然后點(diǎn)擊Finish完成添加。f.在工程窗口的工程目錄下:工程文件為黑色;編譯的目標(biāo)是綠色;灰色的是只讀文件。第二十八頁(yè),共五十九頁(yè)。3.編譯工程A.右擊工程文件夾,選擇BuildProject。B.第一次編譯一個(gè)工程時(shí),會(huì)彈出一個(gè)詢問(wèn)workbench中生成編譯目標(biāo)的存儲(chǔ)目錄,通常不需要變化,所以選擇Continue。C.這時(shí)BuildConsole窗口會(huì)打印編譯信息,當(dāng)編譯完成后,ball.out文件會(huì)出現(xiàn)在ball/SIMNTdiab/ball/Debug目錄之下。D.說(shuō)明:

工程中的目錄名稱“SIMNTdiab”反映當(dāng)前起作用的編譯規(guī)格,它包含vxworks的模擬器和編譯器;目錄名稱“Debug”反映的是實(shí)際上的默認(rèn)的調(diào)試模式標(biāo)志。

如果需要改變編譯規(guī)格,右擊工程文件夾,選擇BuildOptions>SetActiveBuildSpec,選擇合適的編譯規(guī)格。第二十九頁(yè),共五十九頁(yè)。4.建立一個(gè)定義到vxworkssimulator的連接A.在remotesystem窗口中點(diǎn)擊“Defineaconnection”,或者在remotesystem窗口單擊右鍵,出現(xiàn)NewConnection選擇窗口。B.選擇VxWorks6.x>WindRiverVxWorks6.xSimulatorConnection,然后點(diǎn)擊Next。C.點(diǎn)擊Finish完成,這是所建立的連接相關(guān)的設(shè)置都是默認(rèn)的狀態(tài)。因?yàn)椤癐mmediatelyconnecttotargetifpossible”默認(rèn)為選中狀態(tài),workbench會(huì)嘗試連接到模擬器。第三十頁(yè),共五十九頁(yè)。5.下載程序和連接到調(diào)試器(Debugger)A.在ProjectExplorer窗口,右擊編譯的目標(biāo)ball/SIMNTdiab/ball/Debug/ball.out,然后選擇DebugKernelTask,這時(shí)Debug加載配置對(duì)話框出現(xiàn)。B.在main窗口的填寫EntryPoint選項(xiàng)(或者點(diǎn)擊Browse并且選擇Downloads>ball.out>main),然后點(diǎn)擊Debug。C.這時(shí)workbench會(huì)進(jìn)行以下動(dòng)作:自動(dòng)編譯“ball”工程;跳轉(zhuǎn)到DeviceDebug透視圖;在模擬器上執(zhí)行“ball”工程的程序;連接到調(diào)試器(debugger);執(zhí)行程序到main();然后停止(breaks)。第三十一頁(yè),共五十九頁(yè)。6.設(shè)置DeviceDebugPerspective(透視圖)A.在Memoryview使用memoryaddress觀察“ball”工程的“grid”變量在運(yùn)行過(guò)程中的動(dòng)作,所以選擇Window>ShowView>Other>Debug>Memory。B.在Expressions視圖右擊Expression標(biāo)題欄并且選擇AddWatchExpression輸入grid再點(diǎn)擊OK。grid變量的存儲(chǔ)地址和它的值會(huì)出現(xiàn)在視圖中。C.右擊Memory視圖并選擇“AddMemoryMonitor”。D.輸入“grid”變量的存儲(chǔ)地址,點(diǎn)擊"OK"。E.在Memory視圖的"Renderings"側(cè)空白處,單擊右鍵,然后選擇CellSize>8bytes。F.除了把Memory窗口調(diào)大之外,還需要調(diào)整Monitors和Renderings窗口的大小,以便能夠更加清楚的看到相應(yīng)存儲(chǔ)的值。第三十二頁(yè),共五十九頁(yè)。7.設(shè)置和運(yùn)行到斷點(diǎn)(Breakpoint)A.在main.c的三個(gè)初始化for循環(huán)之后的while中加入斷點(diǎn):在相應(yīng)行的左側(cè)邊欄雙擊左鍵;出現(xiàn)一個(gè)藍(lán)色的小圓點(diǎn),還有一個(gè)Breakpoints視圖顯示斷點(diǎn)的名稱和行號(hào)。B.斷點(diǎn)設(shè)置以后在Debug窗口點(diǎn)擊Resume按鈕,workbench會(huì)在運(yùn)行之后停在斷點(diǎn)處。C.在Memory窗口,程序運(yùn)行后,會(huì)有六個(gè)符號(hào)出現(xiàn)。第三十三頁(yè),共五十九頁(yè)。二、編輯和調(diào)試源文件1.在源程序中設(shè)置一個(gè)錯(cuò)誤(Error)A.在ProjectExplorer窗口,雙擊main.c,打開編輯器。B.在Outline視圖中選中main(),編輯器就會(huì)跳轉(zhuǎn)顯示這個(gè)函數(shù)。C.刪除gridInit()后面的分號(hào)“;”。D.保存并關(guān)閉文件。第三十四頁(yè),共五十九頁(yè)。2.跟蹤一個(gè)編譯錯(cuò)誤(BuildFailure)A.在ProjectExplorer窗口選擇編譯“ball”工程。B.當(dāng)編譯到main.c中設(shè)置的錯(cuò)誤時(shí),編譯就會(huì)失敗,這時(shí)workbench用一個(gè)紅色圓點(diǎn)里面一個(gè)白色的查“x”在以下地方顯示錯(cuò)誤:(a).BuildConsole窗口會(huì)在前端顯示,懷疑出錯(cuò)位置以及出錯(cuò)的信息。(b).在ProjectExplorer窗口提示“ball”工程編譯出錯(cuò)和main.c就是包含錯(cuò)誤的文件。(c).在Problems視圖中會(huì)對(duì)錯(cuò)誤進(jìn)行描述,包括文件名、文件夾、行號(hào)。(d).點(diǎn)擊這些位置的紅色按鈕,就會(huì)在編輯器中打開main.c文件,在紅色的標(biāo)記附近就是出錯(cuò)的所在。(e).在gridInit()函數(shù)之后加上分號(hào)“;”。(f).保存并關(guān)閉文件。第三十五頁(yè),共五十九頁(yè)。3.更改錯(cuò)誤后,重新編譯工程。右鍵點(diǎn)擊“ball”工程,選擇RebuildProject。第三十六頁(yè),共五十九頁(yè)。三、使用編輯器的高級(jí)特性1.使用代碼完整(CodeCompletion)在文件中加入符號(hào)(Symbols)在編輯器中任意位置單擊右鍵,在下拉菜單中選擇Source>ContentAssist。第三十七頁(yè),共五十九頁(yè)。2.使用參數(shù)隱藏信息

在編輯器中想要使用參數(shù)隱藏信息,在編輯器的代碼中的某一處單擊右鍵,在下拉菜單中選擇Source>ContentAssist或者使用快捷鍵CTRL+SHIFT+SPACE。第三十八頁(yè),共五十九頁(yè)。3.使用括弧配對(duì)使語(yǔ)法清晰

使用括弧配對(duì)特性時(shí),當(dāng)鼠標(biāo)放在括號(hào)的一邊,與之配對(duì)的另一邊就會(huì)被一個(gè)矩形框起來(lái),還可以使用快捷鍵CTRL+SHIFT+P,跳轉(zhuǎn)到矩形框的位置,可以進(jìn)行括弧配對(duì)操作的符號(hào)有:

(),[],{},"",/**/,<>(C/C++only)。第三十九頁(yè),共五十九頁(yè)。4.在源文件中查找標(biāo)志符號(hào)(Symbols)

在Outline視圖中可非常容易的查找符號(hào)標(biāo)志,點(diǎn)擊符號(hào)就可以跳到對(duì)應(yīng)的位置。但是在函數(shù)內(nèi)部引用的符號(hào)和函數(shù)名在Outline視圖中是不顯示的。*符號(hào)高級(jí)查找打開一個(gè)高級(jí)的符號(hào)查找對(duì)話框,其步驟如下:A.Navigate>OpenElement。B.在彈出的對(duì)話框中,輸入要找的符號(hào)并選擇其類型。C.在“matchingelements”框中,雙擊相應(yīng)的符號(hào)就會(huì)跳轉(zhuǎn)到對(duì)應(yīng)位置,或者點(diǎn)擊“cancel”退出。第四十頁(yè),共五十九頁(yè)。5.在文件中跟蹤特定項(xiàng)(Items)

添加一個(gè)書簽和定位一個(gè)書簽方法是一樣的:

都可以在短時(shí)間內(nèi)找到感興趣的名目(Items),打開書簽(Bookmarks)窗口的方法:選擇Window>ShowView>Bookmarks??梢栽谖募膬?nèi)部的特殊行設(shè)置一個(gè)書簽,也可以為文件自身設(shè)定一個(gè)書簽。

在文件內(nèi)部的某一行設(shè)置一個(gè)書簽(Bookmark)

A.找到文件內(nèi)部想要設(shè)置的行,在行號(hào)的左邊單擊右

鍵,在下拉菜單中選擇AddBookmark,然后點(diǎn)擊OK。

B.書簽設(shè)置好后,可以在Bookmarks窗口點(diǎn)擊

description

下方的書簽名稱進(jìn)行修改。第四十一頁(yè),共五十九頁(yè)。第五部分建立交叉開發(fā)環(huán)境一、主機(jī)和目標(biāo)的配置任務(wù)概述二、配置交叉開發(fā)環(huán)境三、啟動(dòng)VxWorks四、配置Workbench的Host-Target通信第四十二頁(yè),共五十九頁(yè)。一、主機(jī)和目標(biāo)的配置任務(wù)概述1.在主機(jī)上所要做的工作2.在目標(biāo)上所要做的工作3.一般操作4.目標(biāo)代理(TargetAgents)和目標(biāo)服務(wù)器(TargetServers)第四十三頁(yè),共五十九頁(yè)。5.目標(biāo)代理(TargetAgent)模式(1).用戶模式

代理(Agent)就像VxWorks的任務(wù)一樣運(yùn)行。調(diào)試的執(zhí)行是基于單個(gè)任務(wù)的:可以使任務(wù)獨(dú)立出來(lái)或者使任務(wù)不對(duì)目標(biāo)系統(tǒng)的其他部分產(chǎn)生影響。(2).系統(tǒng)模式

agent運(yùn)行在VxWorks的外部,允許調(diào)試應(yīng)用程序和vxworks就像單個(gè)的線程一樣執(zhí)行。當(dāng)應(yīng)用程序和vxworks在執(zhí)行的過(guò)程中遇到斷點(diǎn),應(yīng)用程序和vxworks就會(huì)停止執(zhí)行并且中斷鎖定。使用這種模式的最大好處就是可以通過(guò)中斷單步執(zhí)行;另一方面,熟練操縱單個(gè)的任務(wù)是很難的。使用這種方法的缺點(diǎn)那就是干擾太多—因?yàn)榧尤肓舜罅康挠幸饬x的中斷延時(shí):當(dāng)agent運(yùn)行到中斷鎖定時(shí)。(3).雙重模式

VxWorks映像對(duì)agent選擇默認(rèn)配置,一個(gè)用戶模式的agent(INCLUDE_WDB_TASK)和一個(gè)系統(tǒng)模式的agent(INCLUDE_WDB_SYS)。但是同一時(shí)間只有其中一個(gè)agent運(yùn)行,由workbenchdebugger或者主機(jī)shell控制兩者之間的切換。第四十四頁(yè),共五十九頁(yè)。二、配置交叉開發(fā)環(huán)境1.配置主機(jī)軟件A.設(shè)置VxWorksTarget名稱和IP地址B.在Windows下配置FTP服務(wù)器C.認(rèn)識(shí)WindRiverRegistry2.檢驗(yàn)串口連接和電源*靜電保護(hù);*在目標(biāo)CUP設(shè)置切換和跳轉(zhuǎn);*連接串口線,如果允許網(wǎng)絡(luò)連接,還要連接網(wǎng)線;*連接電源。第四十五頁(yè),共五十九頁(yè)。連接和終端界面的設(shè)置串口連接配置此終端界面的步驟:

*停止其他任何正在使用串口的程序。*運(yùn)行Workbench。*打開串口終端界面Window>ShowView>Other,在filtertextfield框中輸入Terminal,再選中,點(diǎn)擊"OK"完成。*為了個(gè)人能更好的看界面的信息,可以雙擊界面的標(biāo)題欄,全屏顯示;然后雙擊標(biāo)題欄可以還原到原來(lái)的大小。第四十六頁(yè),共五十九頁(yè)。ConnectionType:SSH

SSH是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。Host:要連接目標(biāo)的主機(jī)的IP。User:輸入系統(tǒng)設(shè)置的用戶名。Password:輸入系統(tǒng)設(shè)置的密碼。Timeout(sec):所有平臺(tái)默認(rèn)為0。Port:用于此鏈接的端口。第四十七頁(yè),共五十九頁(yè)。

ConnectionType:Telnet

是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。Host:要連接目標(biāo)的主機(jī)的IP。Port:用于連接端口有telnet和tgtcons兩種選擇,或者輸入一個(gè)用于此鏈接的端口號(hào)。Timeout(sec):所有平臺(tái)默認(rèn)為10。第四十八頁(yè),共五十九頁(yè)。D.設(shè)置一種啟動(dòng)方式通常都需要為系統(tǒng)設(shè)置以下的幾種啟動(dòng)方式中的一種:ROM

大多數(shù)的目標(biāo)板都從ROM的方式啟動(dòng),在建立啟動(dòng)ROMs的時(shí)候,需要注意一下問(wèn)題:建立每個(gè)設(shè)備的socket特征列表;注意每個(gè)設(shè)備的Pin1方向;在電路中工作時(shí)注意防靜電措施;

軟盤一些系統(tǒng)的BSP選擇包含軟盤方式的磁盤啟動(dòng)代替從ROM,而Pentium就是從磁盤啟動(dòng)。Flash存儲(chǔ)器

為了支持從flash啟動(dòng),BSP必須要做把啟動(dòng)程序下載到flash的相關(guān)工作。第四十九頁(yè),共五十九頁(yè)。三、啟動(dòng)VxWorksA.默認(rèn)的啟動(dòng)順序如果從一種默認(rèn)的啟動(dòng)程序啟動(dòng)VxWorks,必須使bootloader提供能夠幫助在主機(jī)上找到VxWorks的映像并把這個(gè)映像下載到目標(biāo)系統(tǒng)的信息。默認(rèn)的啟動(dòng)程序是通過(guò)網(wǎng)絡(luò),需要正確的配置主機(jī)和目標(biāo)的IP地址,VxWorks啟動(dòng)映像的完全路徑和名稱,用戶名,密碼等等。當(dāng)目標(biāo)上電或者重啟,目標(biāo)首先從ROM執(zhí)行啟動(dòng)程序,目標(biāo)通過(guò)串口和終端或者工作站(workstation)相連。在執(zhí)行過(guò)程中,啟動(dòng)程序會(huì)首先輸出一個(gè)標(biāo)志頁(yè)和一個(gè)7到2的數(shù)秒信息,如果在7到2的數(shù)秒周期沒(méi)有按下任意鍵,bootloader就會(huì)已默認(rèn)的方式啟動(dòng),并且不會(huì)由VxWorks啟動(dòng)目標(biāo)。第五十頁(yè),共五十九頁(yè)。B.輸入新的啟動(dòng)參數(shù)

在7到2的數(shù)秒周期按下任意鍵中斷啟動(dòng)程序并且輸入正確的啟動(dòng)參數(shù)。

啟動(dòng)程序顯示如下VxWorks啟動(dòng)提示:

[VxWorksBoot]:

選擇查看當(dāng)前的(默認(rèn))啟動(dòng)參數(shù),輸入p(小寫)就像:

[VxWorksBoot]:p

按下ENTER鍵,界面就會(huì)顯示相關(guān)參數(shù)C.啟動(dòng)(程序的)命令

在VxWorks啟動(dòng)提示的后面輸入h或者?,如:

[VxWorksBoot]:?

再按下ENTER鍵,就可以看到啟動(dòng)程序提供的命令列表第五十一頁(yè),共五十九頁(yè)。D.啟動(dòng)參數(shù)描述bootdevice:用作啟動(dòng)的設(shè)備的類型,存有

bootloader。unitnumber:?jiǎn)?dòng)設(shè)備的單元號(hào),從0開始。processornumber:一般設(shè)置為0。hostname:是讓VxWorks使用。:VxWorks映像的完全路徑名稱。inetonethernet(e):目標(biāo)的IP地址。inetonbackplane(b):目標(biāo)系統(tǒng)的底板IP號(hào)。hostinet(h):主機(jī)的IP地址。gatewayinet(g):網(wǎng)關(guān)的IP。user(u):用戶名。(pw):密碼。flags(f):特殊配置的選項(xiàng)數(shù)值。targetname(tn):加入到主機(jī)列表的目標(biāo)系

統(tǒng)的名稱。startupscript(s):shell或者其它組件。other(o):用于應(yīng)用程序。第五十二頁(yè),共五十九頁(yè)。E.重啟VxWorks重啟VxWorks的方法有以下幾種:在Terminal輸入CTRL+X。在shell中調(diào)用reboot()。按目標(biāo)系統(tǒng)上的reset按鈕。關(guān)閉再打開目標(biāo)電源。如果以其他方式重啟VxWorks,auto-boot步驟將從倒計(jì)時(shí)(7到2的數(shù)秒)處,自動(dòng)運(yùn)行。第五十三頁(yè),共五十九頁(yè)。四、配置Workbench的Host-Target通信如果要開發(fā)應(yīng)用程序,網(wǎng)絡(luò)連接比較容易建立和使用。到現(xiàn)在大多數(shù)的VxWorks目標(biāo)都支持網(wǎng)絡(luò)連接,不需要額外的目標(biāo)設(shè)置。另一方面,網(wǎng)絡(luò)接口是一個(gè)目標(biāo)板最快速的連接通道。可能需要JTAG或者其他模擬器連接。第五十四頁(yè),共五十九頁(yè)。A.網(wǎng)絡(luò)連接點(diǎn)擊RemoteSystems視圖的“Defineaconnectiontoremotesystem”按鈕。選擇WindRiverVxWorks6.xTargetServerConnection然后點(diǎn)擊Next,這時(shí)TargetServerOptionsdialog出現(xiàn),如下圖:選擇wdbrpc,輸入目標(biāo)名稱或者目標(biāo)IP。選中AdvancedTargetServerOptionssection,選中Verbosetargetserveroutput。命令行格式就像這樣:

tgtsvr-V-RC:/installDir/workspace

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論