第二講-嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado_第1頁
第二講-嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado_第2頁
第二講-嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado_第3頁
第二講-嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado_第4頁
第二講-嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1第二講:嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado主講人:

辦公地址:

聯(lián)系方式:2上節(jié)課主要內(nèi)容:為什么要學(xué)習(xí)嵌入式技術(shù)嵌入式系統(tǒng)概述嵌入式系統(tǒng)的應(yīng)用嵌入式實(shí)時(shí)系統(tǒng)基礎(chǔ)3132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法4什么是VxWorks?為什么VxWorks被廣泛采用?VxWorks系統(tǒng)與通用操作系統(tǒng)的對比什么是Tornado?Tornado的工具及其開發(fā)環(huán)境Tornado的目錄結(jié)構(gòu)Tornado的主要目錄結(jié)構(gòu)5什么是VxWorks?VxWorks操作系統(tǒng)是美國風(fēng)河公司(WindRiverSystem公司,WRS)于1983年設(shè)計(jì)開發(fā)的一種運(yùn)行在目標(biāo)機(jī)上的高性能、可裁減的嵌入式強(qiáng)實(shí)時(shí)操作系統(tǒng)。它憑借著良好的可持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域占據(jù)了重要一席。VxWorks系統(tǒng)具備高可靠性和實(shí)時(shí)性,目前被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。如美國的F-16戰(zhàn)斗機(jī)、FA-18戰(zhàn)斗機(jī)、B-2隱形轟炸機(jī)、愛國者導(dǎo)彈上、火星探測器等均使用了VxWorks操作系統(tǒng)。6什么是VxWorks?高性能系統(tǒng)內(nèi)核Wind

?多任務(wù)調(diào)度(基于優(yōu)先級搶占方式的實(shí)時(shí)調(diào)度算法) ?內(nèi)部任務(wù)的通訊其它標(biāo)準(zhǔn)工具 ?設(shè)備驅(qū)動 ?文件系統(tǒng) ?I/O系統(tǒng) ?內(nèi)存管理 ?網(wǎng)絡(luò)協(xié)議棧

VxWorks的主要組成如下:7為什么VxWorks被廣泛采用?可靠性考慮操作系統(tǒng)的用戶希望在一個(gè)工作穩(wěn)定、可以信賴的環(huán)境中工作,而穩(wěn)定、可靠是VxWorks的一個(gè)突出優(yōu)點(diǎn)。實(shí)時(shí)性考慮可裁剪性考慮由于存儲空間和資源的限制,及提高運(yùn)行效率考慮,用戶在使用嵌入式操作系統(tǒng)時(shí),并不是操作系統(tǒng)的每一個(gè)部件都要用到,例如圖形顯示、文件系統(tǒng)以及一些設(shè)備驅(qū)動在某些嵌入式系統(tǒng)中往往并不使用。VxWorks由一個(gè)8kB的內(nèi)核和一些可裁剪的系統(tǒng)模塊組成,可以根據(jù)需要很容易的定制。8為什么VxWorks被廣泛采用?軟硬件支持能力考慮鑒于VxWorks系統(tǒng)擁有良好的聲譽(yù)和眾多的用戶,并且具有較好的開放性,很多硬件廠商提供了基于VxWorks平臺的驅(qū)動支持,也有很多軟件廠商開發(fā)了基于VxWorks的第三方軟件產(chǎn)品。軟硬件支持能力較強(qiáng)。易用性考慮開發(fā)系統(tǒng)的易用性是大多數(shù)用戶非常關(guān)心的問題,WRS公司開發(fā)了一個(gè)用于VxWorks系統(tǒng)應(yīng)用開發(fā)的集成開發(fā)環(huán)境Tornado,提供了友好的、便捷的嵌入式軟件開發(fā)方法。9VxWorks操作系統(tǒng)與通用操作系統(tǒng)的對比實(shí)時(shí)與非實(shí)時(shí)(實(shí)時(shí)處理、分時(shí)處理)“更快”(從實(shí)時(shí)性角度講,實(shí)時(shí)性好)系統(tǒng)更小,并且可配置(采用微內(nèi)核結(jié)構(gòu))所有任務(wù)都運(yùn)行在超級用戶模式 ?所有的VxWorks工具都可以被作為一個(gè)一般的函數(shù)被調(diào)用。10所有任務(wù)都存在于公共地址空間內(nèi)(代碼段、數(shù)據(jù)段、堆棧段) ?可以使任務(wù)間的通訊更快更容易 ?可以使任務(wù)間上下文切換更快 ?一個(gè)任務(wù)的不正??赡軙?dǎo)致其它任務(wù)出錯(cuò)11什么是Tornado?Tornado是一個(gè)用于開發(fā)實(shí)時(shí)嵌入式應(yīng)用的集成開發(fā)環(huán)境,即用于開發(fā)基于VxWorks系統(tǒng)的嵌入式軟件的開發(fā)工具,與Windows系統(tǒng)中的VC類似。它把VxWorks系統(tǒng)編程的不同方面都集成到同一個(gè)環(huán)境里,允許開發(fā)者在主機(jī)上組織、編寫和編譯應(yīng)用程序,然后下載到目標(biāo)機(jī),并運(yùn)行和調(diào)試它們,提供了一種高效的開發(fā)實(shí)時(shí)嵌入式應(yīng)用的方法和工具。12什么是Tornado?Tornado的主要組成

?

VxWorks實(shí)時(shí)操作系統(tǒng):以源碼或目標(biāo)文件的形式存在于Tornado安裝目錄下,可更改或裁剪,在發(fā)布最終系統(tǒng)時(shí)與應(yīng)用程序一同編譯。

?集成開發(fā)環(huán)境:幫助管理和構(gòu)建工程,并組織和管理主機(jī)與目標(biāo)機(jī)間的通信、運(yùn)行、調(diào)試和監(jiān)視VxWorks應(yīng)用程序。

?用于完成輔助測試、定時(shí)、調(diào)試等功能的開發(fā)工具。13Tornado開發(fā)工具的組成編輯器:源碼編輯。工程管理工具:圖形化方式構(gòu)建、組織、配置VxWorks應(yīng)用工程。WindSh:駐留在主機(jī)端的命令行解釋器,提供從主機(jī)端控制運(yùn)行系統(tǒng)的接口。瀏覽器Browser:監(jiān)視系統(tǒng)信息。調(diào)試器CrossWind:類似于VC調(diào)試工具,遠(yuǎn)程源碼級的調(diào)試器。軟件邏輯分析器WindView:分析實(shí)時(shí)軟件運(yùn)行狀態(tài)的邏輯分析器,可提供任務(wù)上下文切換情況、事件和有關(guān)測量對象的信息。模擬仿真器VxSim:在主機(jī)上模擬目標(biāo)機(jī)的仿真器。 這些工具可以使用TCL(ToolCommandLanguage,一種解釋性腳本語言)進(jìn)行定制,以增加新的功能和用戶接口。 工具的具體使用方法在后面介紹。14Tornado的開發(fā)環(huán)境15Tornado的主要目錄結(jié)構(gòu)Host:Tornado的主機(jī)工具目錄share:共享的XDR(eXternalDataRepresentation)代碼目錄,XDR是一種網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的標(biāo)準(zhǔn)格式,XDR代碼用于主機(jī)工具和目標(biāo)機(jī)之間進(jìn)行數(shù)據(jù)傳輸使用。Target:VxWorks操作系統(tǒng)和板級支持包目錄Docs:在線HTML文檔16target的主要目錄結(jié)構(gòu)config——配置和編譯VxWorks的文件

?all通用的配置文件

?bspName板級支持包

?compsVxWorks的組件描述文件proj——VxWorks的工程目錄h ——VxWorks的頭文件lib——VxWorks的庫文件src——部分VxWorks的源碼17132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法18常用的軟件調(diào)試開發(fā)方法VxWorks系統(tǒng)是內(nèi)嵌在Tornado集成開發(fā)環(huán)境中的,而不像Windows系統(tǒng)那樣,直接安裝到計(jì)算機(jī)上,并帶有很多的應(yīng)用和軟件開發(fā)工具。在進(jìn)行基于VxWorks系統(tǒng)的軟件開發(fā)調(diào)試時(shí),一般需要一個(gè)安裝有Windows和Tornado工具的計(jì)算機(jī)進(jìn)行開發(fā)、調(diào)試工作;同時(shí)需要一個(gè)運(yùn)行VxWorks系統(tǒng)的目標(biāo)機(jī)執(zhí)行開發(fā)的軟件。19使用目標(biāo)機(jī)仿真器進(jìn)行調(diào)試開發(fā)虛擬機(jī)軟件虛擬目標(biāo)機(jī)進(jìn)行調(diào)試開發(fā)使用真實(shí)的目標(biāo)機(jī)進(jìn)行調(diào)試開發(fā)

根據(jù)目標(biāo)機(jī)的實(shí)現(xiàn)方法不同,可以將基于VxWorks系統(tǒng)的軟件調(diào)試開發(fā)方法分為以下三種:

20使用目標(biāo)機(jī)仿真器進(jìn)行調(diào)試開發(fā)

利用Tornado自帶的VxSim,在主機(jī)上虛擬出一個(gè)目標(biāo)機(jī)環(huán)境,基于此目標(biāo)機(jī)環(huán)境進(jìn)行調(diào)試開發(fā)??捎糜谂c硬件無關(guān)的簡單軟件的開發(fā)。

【優(yōu)點(diǎn)】簡單,所有的工作都可以在一臺計(jì)算機(jī)上完成?!救秉c(diǎn)】軟件模擬環(huán)境,無法模擬出真實(shí)目標(biāo)機(jī)的硬件特性,僅用于學(xué)習(xí)與硬件無關(guān)的簡單軟件的開發(fā)。21利用虛擬機(jī)軟件虛擬目標(biāo)機(jī)進(jìn)行調(diào)試開發(fā)

利用VMware等工具,在主機(jī)上虛擬出一個(gè)目標(biāo)機(jī)硬件平臺。在Tornado中使用與交叉開發(fā)一樣的方式進(jìn)行軟件開發(fā)和調(diào)試。

【優(yōu)點(diǎn)】與VxSim相比,更具真實(shí)性,并且可以進(jìn)行網(wǎng)絡(luò)編程和對文件系統(tǒng)的操作?!救秉c(diǎn)】畢竟也是虛擬的平臺,與硬件相關(guān)的功能無法開發(fā)調(diào)試。22使用真實(shí)的目標(biāo)機(jī)進(jìn)行調(diào)試開發(fā)

使用嵌入式軟件最終運(yùn)行的硬件平臺作為目標(biāo)機(jī),進(jìn)行交叉開發(fā)。

【優(yōu)點(diǎn)】目標(biāo)機(jī)環(huán)境與系統(tǒng)真實(shí)環(huán)境一致,保證了在開發(fā)時(shí)的目標(biāo)系統(tǒng)與發(fā)布后的系統(tǒng)之間具有最小可能的不同之處?!救秉c(diǎn)】開發(fā)調(diào)試過程復(fù)雜,速度慢。23132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法24Tornado工具及其使用方法編輯器工程管理工具WindSh工具瀏覽器Browser工具調(diào)試器CrossWind工具軟件邏輯分析器WindView工具25編輯器編輯器可以進(jìn)行標(biāo)準(zhǔn)的文本編輯,同時(shí)也為編程環(huán)境提供了一些功能:創(chuàng)建、打開文件,并對文件進(jìn)行編輯、導(dǎo)航、查找、替換、打印等操作;彩色高亮度顯示程序語法要素,例如彩色顯示C/C++的關(guān)鍵字、預(yù)處理開關(guān)、注釋等;與調(diào)試器集成,在調(diào)試過程中編輯器自動與程序執(zhí)行同步,可在編輯器窗口內(nèi)跟蹤代碼執(zhí)行;與編譯器集成,把編譯消息連接到編輯窗口。與一般編輯器的使用方法基本一致26工程管理工具功能:提供了以圖形化和自動化方式管理工程的功能。

術(shù)語:工程(Project)

源文件、二進(jìn)制文件和編譯規(guī)則的集合,工程工具提供了一個(gè)定義、修改和維護(hù)工程的不同構(gòu)建選項(xiàng)的簡單方法。在使用Tornado創(chuàng)建一個(gè)工程時(shí),可選擇為可下載工程(DownloadableProject)和可啟動工程(BootableProject)。27工作空間(Workspace)

一個(gè)邏輯和圖形化的“容器”,可以容納一個(gè)或多個(gè)工程,提供了相關(guān)工程同時(shí)工作的有效方法。工作空間可以以“Files”(工程源文件和目標(biāo)文件)、“VxWorks”(VxWorks包含和不包含的組件)、“Builds”(編譯規(guī)則)三種方式顯示工程??上螺d工程(DownloadableProject)

被用于管理和編譯可以下載并且能夠動態(tài)鏈接到VxWorks映像上的應(yīng)用程序模塊的工程??蓡庸こ蹋˙ootableProject)

被用于為某一指定BSP配置并編譯VxWorks映像的工程。在該工程中,應(yīng)用程序的代碼被靜態(tài)的鏈接到VxWorks映像中。28組件(Component)

可裁減的VxWorks工具。工具鏈(Toolchain)

為某一特定目標(biāo)處理器構(gòu)建應(yīng)用程序的所有開發(fā)工具的集合(如編譯器、鏈接器等)。演示:工程的創(chuàng)建(可下載工程、可啟動工程)工程的使用

29WindSh——介紹 WindSh是一個(gè)駐留在主機(jī)端的命令行解釋器,它提供從主機(jī)端控制運(yùn)行系統(tǒng)的接口,允許用戶調(diào)用內(nèi)存中的應(yīng)用程序模塊或VxWorks模塊中的任何例程。 WindSh既是一個(gè)交互式的C語言解釋器,又是一個(gè)交互式的Tcl解釋器。由于我們在實(shí)際開發(fā)程序過程中很少將其作為Tcl解釋器使用,這里僅介紹其作為C語言解釋器的部分功能。 當(dāng)作為C語言解釋器時(shí),WindSh可完成如下工作:

?訪問VxWorks工具

?下載和調(diào)用代碼

?創(chuàng)建和檢查變量 ?調(diào)試程序30WindSh——啟動方法WindSh的常用啟動方法有三種:在工具條單擊按鈕啟動。從菜單欄選擇Tools->Shell選項(xiàng)啟動。在控制臺方式下鍵入“windsh[選項(xiàng)]目標(biāo)機(jī)服務(wù)器名稱”命令啟動。

若采用前兩種方法,則在Tornado開發(fā)環(huán)境中新啟動一個(gè)Shell窗口;若采用第三種方法,則Shell就在調(diào)用它的控制臺窗口中執(zhí)行。31WindSh——作為一個(gè)C語言解釋器演示: 在shell下依次鍵入如下內(nèi)容:

–>year=2010 –>month=03 –>day=09 –>myName=“Liulq” –>printf(“Mynameis%s\n,Todayis%d-%d-%d\n”,myName,year,month,day)

32WindSh——內(nèi)嵌的部分命令(開發(fā)中常用的)sp:以默認(rèn)方式創(chuàng)建一個(gè)任務(wù)td:刪除一個(gè)任務(wù)pwd:查看當(dāng)前所在目錄cd:改變當(dāng)前目錄i/ti:給出(詳細(xì))任務(wù)信息w/tw:顯示任務(wù)當(dāng)前正在等待的對象ld/unld:加載或卸載模塊show:在WindSh中顯示對象信息演示:在WindSh環(huán)境下下載并執(zhí)行程序33瀏覽器Browser—介紹

Tornado瀏覽器提供了以圖形方式監(jiān)視目標(biāo)機(jī)的系統(tǒng)信息、狀態(tài)信息的功能。可監(jiān)視下述內(nèi)容:

?MemoryUsage(內(nèi)存使用情況信息)

?ModuleInformation(加載的模塊的信息)

?ObjectInformation

(VxWorks的對象信息)——如信號 量、消息隊(duì)列、看門狗定時(shí)器等

?SpyChart(各任務(wù)的CPU使用情況)

?StackCheck(各任務(wù)堆棧的使用情況信息)

?TargetInformation(目標(biāo)機(jī)信息)

?Tasks(任務(wù)狀態(tài)信息)

?VectorTable(中斷向量表信息)——在本機(jī)模擬情況下沒有34瀏覽器Browser—使用方法

啟動方法:

1、工具條按鈕啟動

2、菜單欄選項(xiàng)啟動

使用方法演示!35調(diào)試器CrossWind—介紹

Tornado提供了一個(gè)類似于VC調(diào)試工具的調(diào)試器CrossWind,它將圖形調(diào)試界面和命令行調(diào)試界面很好的組合在了一起。 調(diào)試器提供了程序啟動過程和程序運(yùn)行過程兩種情況下的調(diào)試,對于程序運(yùn)行過程調(diào)試又可分為任務(wù)級調(diào)試和系統(tǒng)級調(diào)試。

36調(diào)試器CrossWind—使用方法 啟動與停止方法: 1、工具條按鈕啟動/停止

2、菜單欄選項(xiàng)啟動/停止 調(diào)試方法: 1、啟動過程的調(diào)試(演示)

調(diào)試那些在程序啟動后只單次執(zhí)行的代碼,例如初始化代碼。37調(diào)試器CrossWind—使用方法

2、對已經(jīng)運(yùn)行的任務(wù)進(jìn)行調(diào)試(演示)

調(diào)試那些在程序啟動后會周期執(zhí)行或受事件觸發(fā)的代碼。主要是對任務(wù)的循環(huán)代碼、事件觸發(fā)代碼和中斷服務(wù)程序進(jìn)行調(diào)試。系統(tǒng)模式。對整個(gè)應(yīng)用系統(tǒng)進(jìn)行調(diào)試,可在系統(tǒng)中設(shè)置斷點(diǎn)等,調(diào)試中應(yīng)用系統(tǒng)必須停下來。任務(wù)模式(即動態(tài)調(diào)試)。調(diào)試是針對系統(tǒng)中某一任務(wù)模塊進(jìn)行的,整個(gè)系統(tǒng)仍可保留在工作狀態(tài)。

38軟件邏輯分析器WindView—介紹

WindView是一個(gè)可視化的軟件實(shí)時(shí)邏輯分析器,它可提供系統(tǒng)運(yùn)行過程中任務(wù)上下文切換、事件和有關(guān)對象的信息,其結(jié)構(gòu)如右圖所示。 tWvRBuffMgr任務(wù)用于收集事件數(shù)據(jù),并存儲在目標(biāo)機(jī)的內(nèi)存(事件緩沖區(qū))中。 tWVUpload任務(wù)用于上傳事件數(shù)據(jù)到主機(jī)。 事件數(shù)據(jù)可以在主機(jī)上以圖形方式顯示,或者以文件方式存儲。39軟件邏輯分析器WindView—使用方法

啟動: 1、工具條按鈕啟動 2、菜單欄選項(xiàng)啟動

配置:

在配置對話框中選擇需要監(jiān)視的事件操作,包括上下文切換、任務(wù)狀態(tài)轉(zhuǎn)換和自定義方式三種。

操作控制:

在控制對話框控制各項(xiàng)操作。(WindView配置、上傳數(shù)據(jù)、查看事件日志、定時(shí)查看事件日志、啟動WindView、停止WindView)40132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法41交叉開發(fā)環(huán)境的建立方法開發(fā)環(huán)境的啟動過程配置目標(biāo)機(jī)配置主機(jī)42開發(fā)環(huán)境的啟動過程 開發(fā)環(huán)境的啟動通過引導(dǎo)文件bootrom.sys和操作系統(tǒng)映像文件VxWorks兩個(gè)文件完成。 引導(dǎo)文件bootrom.sys的主要作用類似于BIOS,一般存放在軟盤、目標(biāo)機(jī)硬盤或目標(biāo)機(jī)FLASH盤上,由Vxld或其他程序加載到內(nèi)存,用于初始化目標(biāo)機(jī)上的硬件,建立VxWorks的運(yùn)行環(huán)境,從引導(dǎo)設(shè)備上加載VxWorks操作系統(tǒng)映像,然后將CPU的控制權(quán)交給操作系統(tǒng)。

VxWorks是操作系統(tǒng)的映像文件,可以存放在bootrom.sys所在的軟盤、目標(biāo)機(jī)硬盤、目標(biāo)機(jī)FLASH盤或主機(jī)硬盤上(具體的存放位置與引導(dǎo)參數(shù)設(shè)置有關(guān)),由bootrom.sys的加載程序加載到目標(biāo)機(jī)內(nèi)存。43開發(fā)環(huán)境的啟動過程 1、啟動目標(biāo)機(jī)。

2、完成自檢后,從引導(dǎo)盤的指定位置引導(dǎo),由Vxld或其他程序加載引導(dǎo)文件bootrom.sys到內(nèi)存。

3、引導(dǎo)文件bootrom.sys的主要作用類似于BIOS,用于初始化目標(biāo)機(jī)上的硬件,建立VxWorks的運(yùn)行環(huán)境。

4、加載VxWorks操作系統(tǒng)映像,然后將CPU的控制權(quán)交給操作系統(tǒng)。44bootrom.sys/vxWorks/引導(dǎo)盤之間的關(guān)系 引導(dǎo)盤是經(jīng)過處理的,專門用于加載bootrom.sys的介質(zhì)(可以是目標(biāo)機(jī)上的軟盤、硬盤、Flash盤等),bootrom.sys存在于引導(dǎo)盤上。 引導(dǎo)盤加載bootrom.sys后,初始化目標(biāo)機(jī)上的硬件,建立VxWorks的運(yùn)行環(huán)境,然后從指定的位置上加載VxWorks操作系統(tǒng)映像,將CPU的控制權(quán)交給操作系統(tǒng)。(此處的指定位置與引導(dǎo)盤無關(guān),在引導(dǎo)行中已經(jīng)指定,可以是目標(biāo)機(jī)軟盤、硬盤、Flash盤或主機(jī)硬盤)。

VxWorks是操作系統(tǒng)的映像文件,可以存放在bootrom.sys所在的軟盤、目標(biāo)機(jī)硬盤、目標(biāo)機(jī)FLASH盤或主機(jī)硬盤上(具體的存放位置與引導(dǎo)參數(shù)設(shè)置有關(guān)),由bootrom.sys的加載程序加載到目標(biāo)機(jī)內(nèi)存。

[注]bootrom.sys的位置與VxWorks的位置沒有必然聯(lián)系。4546主機(jī)相關(guān)——安裝Tornado

1、安裝Tornado工具、BSP、組件模塊、軟件補(bǔ)丁等。

2、在命令行方式下,使用make命令編譯操作系統(tǒng)和組件工具。(根據(jù)購買的Tornado,可能需要該項(xiàng)操作)返回47主機(jī)相關(guān)——設(shè)置環(huán)境變量

在進(jìn)行VxWorks系統(tǒng)軟件開發(fā)的過程中,經(jīng)常會用到Tornado提供的命令行工具進(jìn)行某些操作。如利用make命令編譯文件、利用mkboot命令制作啟動盤等。這些命令都位于WIND_BASE\host\x86-win32\bin(WIND_BASE為Tornado的安裝目錄)目錄下,每個(gè)命令對應(yīng)一個(gè)可執(zhí)行文件。 默認(rèn)情況下,需要在命令行方式下進(jìn)入WIND_BASE\host\x86-win32\bin目錄才能執(zhí)行相應(yīng)的操作;此外,也可以把對應(yīng)命令的可執(zhí)行文件拷貝到我們需要的目錄下,然后在該目錄下執(zhí)行相應(yīng)的操作。48主機(jī)相關(guān)——設(shè)置環(huán)境變量

然而,在實(shí)際使用時(shí)經(jīng)常需要在不同的目錄下執(zhí)行各種操作,這就需要提供一種方式,使得既不用進(jìn)入WIND_BASE\host\x86-win32\bin目錄,也不用拷貝對應(yīng)命令的可執(zhí)行文件到目標(biāo)目錄,從而完成對各種命令的調(diào)用。 在Tornado的WIND_BASE\host\x86-win32\bin目錄下提供了一個(gè)批處理文件torVars.bat用于設(shè)置環(huán)境變量,該操作執(zhí)行結(jié)束后,即設(shè)置了命令的尋找路徑,使得在任何目錄下都可以成功調(diào)用WIND_BASE\host\x86-win32\bin目錄下的各種命令。 然而,使用torVars命令也不是一個(gè)很方便的方法,因?yàn)槊看芜M(jìn)入命令行方式后都需要重新執(zhí)行torVars操作,然后才可以在任何目錄中調(diào)用各種命令。49主機(jī)相關(guān)——設(shè)置環(huán)境變量

為了方便使用,可將torVars.bat中的內(nèi)容設(shè)置到用戶環(huán)境變量或系統(tǒng)環(huán)境變量中。內(nèi)容如下: WIND_HOST_TYPE=x86-win32 (與主機(jī)系統(tǒng)有關(guān)) WIND_BASE=C:\Tornado2.2 (與安裝目錄有關(guān)) PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;返回50主機(jī)相關(guān)——配置FTPServer

當(dāng)配置引導(dǎo)行時(shí),若設(shè)置目標(biāo)機(jī)通過網(wǎng)絡(luò)形式加載宿主機(jī)硬盤上的VxWorks映像文件,則目標(biāo)機(jī)在引導(dǎo)時(shí)通過FTP方式登錄宿主機(jī)FTPServer,并下載執(zhí)行宿主機(jī)硬盤上的VxWorks映像文件。在這種方式下,需要配置宿主機(jī)端的FTPServer,并且在目標(biāo)機(jī)引導(dǎo)時(shí)啟動該FTPServer。 ?配置用戶名和密碼(與引導(dǎo)行中一致) ?配置主目錄(目標(biāo)機(jī)通過FTP方式登錄到宿主機(jī)FTPServer后所進(jìn)入的默認(rèn)的宿主機(jī)目錄

)返回51主機(jī)相關(guān)——配置targetserver

TargetServer在宿主機(jī)上運(yùn)行,用于管理Tornado主機(jī)工具和目標(biāo)機(jī)系統(tǒng)之間的通訊。 TargetServer通過目標(biāo)機(jī)代理與目標(biāo)機(jī)系統(tǒng)通訊,目標(biāo)機(jī)代理作為一個(gè)VxWorks任務(wù)或VxWorks的外層運(yùn)行在目標(biāo)機(jī)系統(tǒng)上。為了能夠正確的和目標(biāo)機(jī)代理進(jìn)行通訊,TargetServer要使用一個(gè)與目標(biāo)機(jī)代理配置有相同的通訊協(xié)議和傳輸層的通訊后端。 在實(shí)際使用時(shí),一般是一個(gè)TargetServer對應(yīng)一個(gè)目標(biāo)機(jī)配置,在使用主機(jī)工具與目標(biāo)機(jī)進(jìn)行交互之前必須先啟動與該目標(biāo)機(jī)對應(yīng)的TargetServer。操作演示!返回52目標(biāo)機(jī)相關(guān)——硬件設(shè)置1、硬件連接和跳線設(shè)置。2、若要目標(biāo)機(jī)支持網(wǎng)絡(luò),加載網(wǎng)卡驅(qū)動,則需確定目標(biāo)機(jī)網(wǎng)卡芯片型號。3、若目標(biāo)機(jī)采用10Mb網(wǎng)卡,需確定該網(wǎng)卡在目標(biāo)機(jī)硬件環(huán)境下的中斷號和基地址。返回53目標(biāo)機(jī)相關(guān)——制作引導(dǎo)盤 VxWorks系統(tǒng)引導(dǎo)盤是用來存儲bootrom.sys文件,并能夠在系統(tǒng)啟動后可以自動加載bootrom.sys文件的介質(zhì)。常用的作為引導(dǎo)盤的介質(zhì)有軟盤、硬盤或Flash盤。 Tornado提供了命令行工具vxsys用于制作VxWorks系統(tǒng)引導(dǎo)盤,其命令格式為:vxsys[盤符]。例如要將插入軟驅(qū)A中的軟盤做成VxWorks系統(tǒng)引導(dǎo)盤,則需要在命令行方式下鍵入“vxsysa:”。 當(dāng)要使用硬盤作為VxWorks系統(tǒng)引導(dǎo)盤時(shí)需要注意,用于做引導(dǎo)盤的那個(gè)分區(qū)必須為FAT16格式,并且要被設(shè)置成活動的主引導(dǎo)區(qū)。返回54目標(biāo)機(jī)相關(guān)——制作bootrom(設(shè)置引導(dǎo)行)

引導(dǎo)行的功能是指示VxWorks文件的加載地址,設(shè)置一些目標(biāo)機(jī)的配置信息(如目標(biāo)機(jī)IP地址),以便于bootrom.sys文件按照引導(dǎo)行的要求從指定位置加載VxWorks文件。 引導(dǎo)行的格式及常用的參數(shù)如下: dev(unitNum,procNum)hostName:/filePath[h=#e=#

u=#

pw=#

o=#tn=#

f=#

s=#]

55

dev代表存儲或加載VxWorks映像文件的介質(zhì),如下表所示:標(biāo)識設(shè)備宏定義設(shè)備備注1備注2fdINCLUDE_FD軟盤需要DOSFS文件系統(tǒng)支持,需定義INCLUDE_DOSFSVxWorks映像存儲在目標(biāo)機(jī)端介質(zhì)上ataINCLUDE_ATAATA硬盤ideINCLUDE_IDEIDE硬盤scsiINCLUDE_SCSISCSI硬盤tffsINCLUDE_TFFSDOCpcmciaINCLUDE_PCMCIAPCMCIA卡tsfsINCLUDE_TSFS串口VxWorks映像存儲在宿主機(jī)介質(zhì)上fei等INCLUDE_FEI_END網(wǎng)口56

dev示例: 若使用采用Intel82559芯片的網(wǎng)卡作為引導(dǎo)設(shè)備,則對應(yīng)引導(dǎo)行的dev為fei; 若采用ATA硬盤作為引導(dǎo)設(shè)備,則對應(yīng)引導(dǎo)行的dev為ata=0,0。其中,等號后面的第一個(gè)數(shù)字代表ATA控制器,為0代表第一個(gè)控制器,為1代表第二個(gè)控制器。等號后面的第二個(gè)數(shù)字代表控制器上的主盤或從盤,為0代表主盤master,為1代表從盤slave。57

unitNum為單元號。例如,當(dāng)使用網(wǎng)絡(luò)作為引導(dǎo)設(shè)備時(shí),unitNum的值代表系統(tǒng)中相同類型網(wǎng)卡的序號,為0代表第1塊網(wǎng)卡,為1則代表第二塊網(wǎng)卡,依次類推。

procNum為處理器編號。由于我們使用的目標(biāo)機(jī)大部分都是單處理器的系統(tǒng),因此,procNum的值一般均為0。

hostName為主機(jī)名稱,可以任意指定。

filePath為待引導(dǎo)的VxWorks映像文件的位置及名稱。對于使用串口或網(wǎng)口作為引導(dǎo)設(shè)備的形式,filePath可填寫VxWorks的絕對路徑或相對路徑(與主機(jī)端的設(shè)置有關(guān));對于其它的引導(dǎo)設(shè)備,filePath一般填寫VxWorks的絕對路徑。58

可選設(shè)置項(xiàng)中的h和e分別代表主機(jī)IP和目標(biāo)機(jī)IP,其設(shè)置值為點(diǎn)分十進(jìn)制的IP地址(例如)。 可選設(shè)置項(xiàng)中的tn為目標(biāo)機(jī)名稱,其值可設(shè)置為任意的字符串。 可選設(shè)置項(xiàng)中的u和pw分別代表宿主機(jī)端FTP服務(wù)器的用戶名和密碼。當(dāng)使用網(wǎng)口作為引導(dǎo)設(shè)備時(shí),目標(biāo)機(jī)需要從宿主機(jī)硬盤上加載VxWorks映像文件,而這一加載過程是通過FTP方式進(jìn)行的。目標(biāo)機(jī)為FTP客戶,而宿主機(jī)為FTP服務(wù)器。 可選設(shè)置項(xiàng)中的o代表系統(tǒng)引導(dǎo)時(shí)還需加載(驅(qū)動)的設(shè)備的標(biāo)識。例如使用ATA硬盤作為引導(dǎo)設(shè)備,但在啟動時(shí)還希望加載采用Intel82559芯片的網(wǎng)卡,則可在引導(dǎo)行中加入o=fei。59 設(shè)置項(xiàng)中的f為啟動標(biāo)識,不同的值對應(yīng)不同的宏定義(在sysLib.h文件中定義),代表不同的含義。宏定義取值功能描述SYSFLG_NO_SYS_CONTROLLER0x01不使能系統(tǒng)控制器為處理器0SYSFLG_DEBUG0x02調(diào)試選項(xiàng),用所有符號裝載內(nèi)核符號表SYSFLG_NO_AUTOBOOT0x04不進(jìn)行自動引導(dǎo)SYSFLG_QUICK_AUTOBOOT0x08快速引導(dǎo),不進(jìn)行倒計(jì)時(shí)SYSFLG_NO_STARTUP_SCRIPT0x10不讀取啟動腳本SYSFLG_NO_SECURITY0x20安全登陸無效,在網(wǎng)絡(luò)注冊時(shí)無需密碼SYSFLG_AUTOCONFIG0x40使用bootp或DHCP得到引導(dǎo)參數(shù)SYSFLG_TFTP0x80使用TFTP獲得啟動映像SYSFLG_PROXY0x100使用代理ARPSYSFLG_WDB0x200使用WDB代理60 設(shè)置項(xiàng)中的s為系統(tǒng)啟動后執(zhí)行的腳本文件(其類型為文本文件),其設(shè)置值即為文本文件的路徑及文件名。該文件是一個(gè)shell可識別的文本文件(C語言解釋器)。VxWorks啟動后,targetShell將打開該文件,并逐行解釋執(zhí)行。例如腳本文件:

ld</ata/myApp.out spmyApp 該腳本文件從硬盤上加載myApp.out目標(biāo)代碼,然后以任務(wù)形式調(diào)用函數(shù)myApp()啟動用戶應(yīng)用程序。這種加載用戶應(yīng)用程序的方式將用戶應(yīng)用程序與VxWorks系統(tǒng)內(nèi)核分離,有利于應(yīng)用程序單獨(dú)升級,大大提高了系統(tǒng)配置的靈活性。61幾個(gè)引導(dǎo)行的示例:軟盤加載:fd=0,0(0,0)host:/fd0/vxWorks

h=e=12

u=target

o=rtl

f=0x08硬盤vxWorks加載:ata=0,0(0,0)liulq:/ata0/vxWorks

h=e=12

u=target

o=rtl

f=0x08 主機(jī)硬盤vxWorks加載: rtl(0,0)liulq:C:/Tornado220/target/config/pcPentium_221_rtl/vxWorks

h=

e=11

u=liulq

pw=liulq

f=0x08

tn=VxTarget62目標(biāo)機(jī)相關(guān)——制作bootrom(設(shè)置網(wǎng)卡)

在實(shí)際使用中,常使用以太網(wǎng)實(shí)現(xiàn)宿主機(jī)與目標(biāo)機(jī)之間的連接,這就需要在系統(tǒng)啟動時(shí)加載網(wǎng)絡(luò)驅(qū)動。系統(tǒng)默認(rèn)支持的網(wǎng)卡類型如下:標(biāo)識設(shè)備宏定義網(wǎng)卡類型dcINCLUDE_DEC21X40_ENDDEC21x40PCI網(wǎng)卡elPciINCLUDE_EL_3C90X_END3ComFastEtherLinkXLPCI網(wǎng)卡eltINCLUDE_ELT_3C509_END3ComEtherLinkIIIISA網(wǎng)卡eneINCLUDE_ENE_ENDEagle/NovellNE2000ISA網(wǎng)卡feiINCLUDE_FEI_ENDIntel8255[7/8/9]PCI網(wǎng)卡geiINCLUDE_GEI8254X_ENDIntel82543/82544PCI網(wǎng)卡lnPciINCLUDE_LN_97X_ENDAMD79C97xPCI網(wǎng)卡ultraINCLUDE_ULTRA_ENDSMCElite16UltraISA網(wǎng)卡63

1、系統(tǒng)支持的百兆、千兆網(wǎng)卡驅(qū)動加載方法

對于系統(tǒng)支持的百兆、千兆網(wǎng)卡,只需在config.h文件中包含相應(yīng)的宏定義即可。 例如,假設(shè)目標(biāo)機(jī)使用的是Intel82559芯片的網(wǎng)卡,則需如下定義:

#defineINCLUDE_FEI_END64

2、系統(tǒng)支持的十兆網(wǎng)卡驅(qū)動加載方法

對于十兆的ISA網(wǎng)卡,其中斷和基地址一般都需要跳線設(shè)置,而不象PCI網(wǎng)卡那樣會由系統(tǒng)自動分配。因此,對于系統(tǒng)支持的十兆網(wǎng)卡,不但需包含相應(yīng)的宏定義,還需將基地址和中斷號設(shè)置得與硬件一致。 例如,假設(shè)目標(biāo)機(jī)使用的是8019芯片的NE2000兼容網(wǎng)卡,網(wǎng)卡的基地址和中斷分別通過跳線設(shè)置為0x300和5,則需要在config.h中作如下定義:

#defineINCLUDE_ENE_END #defineIO_ADRS_ENE 0x300 #defineINT_LVL_ENE 0x0565

3、系統(tǒng)不支持的網(wǎng)卡驅(qū)動加載方法

(1)從硬件設(shè)備廠商處得到該型網(wǎng)卡在VxWorks系統(tǒng)下的相應(yīng)支持文件。一般包括驅(qū)動程序、系統(tǒng)加

溫馨提示

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

最新文檔

評論

0/150

提交評論