




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1第二講:嵌入式操作系統(tǒng)VxWorks及其開發(fā)工具Tornado主講人:
辦公地址:
聯(lián)系方式:2上節(jié)課主要內(nèi)容:為什么要學習嵌入式技術(shù)嵌入式系統(tǒng)概述嵌入式系統(tǒng)的應(yīng)用嵌入式實時系統(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)是美國風河公司(WindRiverSystem公司,WRS)于1983年設(shè)計開發(fā)的一種運行在目標機上的高性能、可裁減的嵌入式強實時操作系統(tǒng)。它憑借著良好的可持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領(lǐng)域占據(jù)了重要一席。VxWorks系統(tǒng)具備高可靠性和實時性,目前被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中。如美國的F-16戰(zhàn)斗機、FA-18戰(zhàn)斗機、B-2隱形轟炸機、愛國者導彈上、火星探測器等均使用了VxWorks操作系統(tǒng)。6什么是VxWorks?高性能系統(tǒng)內(nèi)核Wind
?多任務(wù)調(diào)度(基于優(yōu)先級搶占方式的實時調(diào)度算法) ?內(nèi)部任務(wù)的通訊其它標準工具 ?設(shè)備驅(qū)動 ?文件系統(tǒng) ?I/O系統(tǒng) ?內(nèi)存管理 ?網(wǎng)絡(luò)協(xié)議棧
VxWorks的主要組成如下:7為什么VxWorks被廣泛采用?可靠性考慮操作系統(tǒng)的用戶希望在一個工作穩(wěn)定、可以信賴的環(huán)境中工作,而穩(wěn)定、可靠是VxWorks的一個突出優(yōu)點。實時性考慮可裁剪性考慮由于存儲空間和資源的限制,及提高運行效率考慮,用戶在使用嵌入式操作系統(tǒng)時,并不是操作系統(tǒng)的每一個部件都要用到,例如圖形顯示、文件系統(tǒng)以及一些設(shè)備驅(qū)動在某些嵌入式系統(tǒng)中往往并不使用。VxWorks由一個8kB的內(nèi)核和一些可裁剪的系統(tǒng)模塊組成,可以根據(jù)需要很容易的定制。8為什么VxWorks被廣泛采用?軟硬件支持能力考慮鑒于VxWorks系統(tǒng)擁有良好的聲譽和眾多的用戶,并且具有較好的開放性,很多硬件廠商提供了基于VxWorks平臺的驅(qū)動支持,也有很多軟件廠商開發(fā)了基于VxWorks的第三方軟件產(chǎn)品。軟硬件支持能力較強。易用性考慮開發(fā)系統(tǒng)的易用性是大多數(shù)用戶非常關(guān)心的問題,WRS公司開發(fā)了一個用于VxWorks系統(tǒng)應(yīng)用開發(fā)的集成開發(fā)環(huán)境Tornado,提供了友好的、便捷的嵌入式軟件開發(fā)方法。9VxWorks操作系統(tǒng)與通用操作系統(tǒng)的對比實時與非實時(實時處理、分時處理)“更快”(從實時性角度講,實時性好)系統(tǒng)更小,并且可配置(采用微內(nèi)核結(jié)構(gòu))所有任務(wù)都運行在超級用戶模式 ?所有的VxWorks工具都可以被作為一個一般的函數(shù)被調(diào)用。10所有任務(wù)都存在于公共地址空間內(nèi)(代碼段、數(shù)據(jù)段、堆棧段) ?可以使任務(wù)間的通訊更快更容易 ?可以使任務(wù)間上下文切換更快 ?一個任務(wù)的不正常可能會導致其它任務(wù)出錯11什么是Tornado?Tornado是一個用于開發(fā)實時嵌入式應(yīng)用的集成開發(fā)環(huán)境,即用于開發(fā)基于VxWorks系統(tǒng)的嵌入式軟件的開發(fā)工具,與Windows系統(tǒng)中的VC類似。它把VxWorks系統(tǒng)編程的不同方面都集成到同一個環(huán)境里,允許開發(fā)者在主機上組織、編寫和編譯應(yīng)用程序,然后下載到目標機,并運行和調(diào)試它們,提供了一種高效的開發(fā)實時嵌入式應(yīng)用的方法和工具。12什么是Tornado?Tornado的主要組成
?
VxWorks實時操作系統(tǒng):以源碼或目標文件的形式存在于Tornado安裝目錄下,可更改或裁剪,在發(fā)布最終系統(tǒng)時與應(yīng)用程序一同編譯。
?集成開發(fā)環(huán)境:幫助管理和構(gòu)建工程,并組織和管理主機與目標機間的通信、運行、調(diào)試和監(jiān)視VxWorks應(yīng)用程序。
?用于完成輔助測試、定時、調(diào)試等功能的開發(fā)工具。13Tornado開發(fā)工具的組成編輯器:源碼編輯。工程管理工具:圖形化方式構(gòu)建、組織、配置VxWorks應(yīng)用工程。WindSh:駐留在主機端的命令行解釋器,提供從主機端控制運行系統(tǒng)的接口。瀏覽器Browser:監(jiān)視系統(tǒng)信息。調(diào)試器CrossWind:類似于VC調(diào)試工具,遠程源碼級的調(diào)試器。軟件邏輯分析器WindView:分析實時軟件運行狀態(tài)的邏輯分析器,可提供任務(wù)上下文切換情況、事件和有關(guān)測量對象的信息。模擬仿真器VxSim:在主機上模擬目標機的仿真器。 這些工具可以使用TCL(ToolCommandLanguage,一種解釋性腳本語言)進行定制,以增加新的功能和用戶接口。 工具的具體使用方法在后面介紹。14Tornado的開發(fā)環(huán)境15Tornado的主要目錄結(jié)構(gòu)Host:Tornado的主機工具目錄share:共享的XDR(eXternalDataRepresentation)代碼目錄,XDR是一種網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的標準格式,XDR代碼用于主機工具和目標機之間進行數(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)那樣,直接安裝到計算機上,并帶有很多的應(yīng)用和軟件開發(fā)工具。在進行基于VxWorks系統(tǒng)的軟件開發(fā)調(diào)試時,一般需要一個安裝有Windows和Tornado工具的計算機進行開發(fā)、調(diào)試工作;同時需要一個運行VxWorks系統(tǒng)的目標機執(zhí)行開發(fā)的軟件。19使用目標機仿真器進行調(diào)試開發(fā)虛擬機軟件虛擬目標機進行調(diào)試開發(fā)使用真實的目標機進行調(diào)試開發(fā)
根據(jù)目標機的實現(xiàn)方法不同,可以將基于VxWorks系統(tǒng)的軟件調(diào)試開發(fā)方法分為以下三種:
20使用目標機仿真器進行調(diào)試開發(fā)
利用Tornado自帶的VxSim,在主機上虛擬出一個目標機環(huán)境,基于此目標機環(huán)境進行調(diào)試開發(fā)。可用于與硬件無關(guān)的簡單軟件的開發(fā)。
【優(yōu)點】簡單,所有的工作都可以在一臺計算機上完成?!救秉c】軟件模擬環(huán)境,無法模擬出真實目標機的硬件特性,僅用于學習與硬件無關(guān)的簡單軟件的開發(fā)。21利用虛擬機軟件虛擬目標機進行調(diào)試開發(fā)
利用VMware等工具,在主機上虛擬出一個目標機硬件平臺。在Tornado中使用與交叉開發(fā)一樣的方式進行軟件開發(fā)和調(diào)試。
【優(yōu)點】與VxSim相比,更具真實性,并且可以進行網(wǎng)絡(luò)編程和對文件系統(tǒng)的操作?!救秉c】畢竟也是虛擬的平臺,與硬件相關(guān)的功能無法開發(fā)調(diào)試。22使用真實的目標機進行調(diào)試開發(fā)
使用嵌入式軟件最終運行的硬件平臺作為目標機,進行交叉開發(fā)。
【優(yōu)點】目標機環(huán)境與系統(tǒng)真實環(huán)境一致,保證了在開發(fā)時的目標系統(tǒng)與發(fā)布后的系統(tǒng)之間具有最小可能的不同之處?!救秉c】開發(fā)調(diào)試過程復(fù)雜,速度慢。23132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法24Tornado工具及其使用方法編輯器工程管理工具WindSh工具瀏覽器Browser工具調(diào)試器CrossWind工具軟件邏輯分析器WindView工具25編輯器編輯器可以進行標準的文本編輯,同時也為編程環(huán)境提供了一些功能:創(chuàng)建、打開文件,并對文件進行編輯、導航、查找、替換、打印等操作;彩色高亮度顯示程序語法要素,例如彩色顯示C/C++的關(guān)鍵字、預(yù)處理開關(guān)、注釋等;與調(diào)試器集成,在調(diào)試過程中編輯器自動與程序執(zhí)行同步,可在編輯器窗口內(nèi)跟蹤代碼執(zhí)行;與編譯器集成,把編譯消息連接到編輯窗口。與一般編輯器的使用方法基本一致26工程管理工具功能:提供了以圖形化和自動化方式管理工程的功能。
術(shù)語:工程(Project)
源文件、二進制文件和編譯規(guī)則的集合,工程工具提供了一個定義、修改和維護工程的不同構(gòu)建選項的簡單方法。在使用Tornado創(chuàng)建一個工程時,可選擇為可下載工程(DownloadableProject)和可啟動工程(BootableProject)。27工作空間(Workspace)
一個邏輯和圖形化的“容器”,可以容納一個或多個工程,提供了相關(guān)工程同時工作的有效方法。工作空間可以以“Files”(工程源文件和目標文件)、“VxWorks”(VxWorks包含和不包含的組件)、“Builds”(編譯規(guī)則)三種方式顯示工程??上螺d工程(DownloadableProject)
被用于管理和編譯可以下載并且能夠動態(tài)鏈接到VxWorks映像上的應(yīng)用程序模塊的工程??蓡庸こ蹋˙ootableProject)
被用于為某一指定BSP配置并編譯VxWorks映像的工程。在該工程中,應(yīng)用程序的代碼被靜態(tài)的鏈接到VxWorks映像中。28組件(Component)
可裁減的VxWorks工具。工具鏈(Toolchain)
為某一特定目標處理器構(gòu)建應(yīng)用程序的所有開發(fā)工具的集合(如編譯器、鏈接器等)。演示:工程的創(chuàng)建(可下載工程、可啟動工程)工程的使用
29WindSh——介紹 WindSh是一個駐留在主機端的命令行解釋器,它提供從主機端控制運行系統(tǒng)的接口,允許用戶調(diào)用內(nèi)存中的應(yīng)用程序模塊或VxWorks模塊中的任何例程。 WindSh既是一個交互式的C語言解釋器,又是一個交互式的Tcl解釋器。由于我們在實際開發(fā)程序過程中很少將其作為Tcl解釋器使用,這里僅介紹其作為C語言解釋器的部分功能。 當作為C語言解釋器時,WindSh可完成如下工作:
?訪問VxWorks工具
?下載和調(diào)用代碼
?創(chuàng)建和檢查變量 ?調(diào)試程序30WindSh——啟動方法WindSh的常用啟動方法有三種:在工具條單擊按鈕啟動。從菜單欄選擇Tools->Shell選項啟動。在控制臺方式下鍵入“windsh[選項]目標機服務(wù)器名稱”命令啟動。
若采用前兩種方法,則在Tornado開發(fā)環(huán)境中新啟動一個Shell窗口;若采用第三種方法,則Shell就在調(diào)用它的控制臺窗口中執(zhí)行。31WindSh——作為一個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:以默認方式創(chuàng)建一個任務(wù)td:刪除一個任務(wù)pwd:查看當前所在目錄cd:改變當前目錄i/ti:給出(詳細)任務(wù)信息w/tw:顯示任務(wù)當前正在等待的對象ld/unld:加載或卸載模塊show:在WindSh中顯示對象信息演示:在WindSh環(huán)境下下載并執(zhí)行程序33瀏覽器Browser—介紹
Tornado瀏覽器提供了以圖形方式監(jiān)視目標機的系統(tǒng)信息、狀態(tài)信息的功能??杀O(jiān)視下述內(nèi)容:
?MemoryUsage(內(nèi)存使用情況信息)
?ModuleInformation(加載的模塊的信息)
?ObjectInformation
(VxWorks的對象信息)——如信號 量、消息隊列、看門狗定時器等
?SpyChart(各任務(wù)的CPU使用情況)
?StackCheck(各任務(wù)堆棧的使用情況信息)
?TargetInformation(目標機信息)
?Tasks(任務(wù)狀態(tài)信息)
?VectorTable(中斷向量表信息)——在本機模擬情況下沒有34瀏覽器Browser—使用方法
啟動方法:
1、工具條按鈕啟動
2、菜單欄選項啟動
使用方法演示!35調(diào)試器CrossWind—介紹
Tornado提供了一個類似于VC調(diào)試工具的調(diào)試器CrossWind,它將圖形調(diào)試界面和命令行調(diào)試界面很好的組合在了一起。 調(diào)試器提供了程序啟動過程和程序運行過程兩種情況下的調(diào)試,對于程序運行過程調(diào)試又可分為任務(wù)級調(diào)試和系統(tǒng)級調(diào)試。
36調(diào)試器CrossWind—使用方法 啟動與停止方法: 1、工具條按鈕啟動/停止
2、菜單欄選項啟動/停止 調(diào)試方法: 1、啟動過程的調(diào)試(演示)
調(diào)試那些在程序啟動后只單次執(zhí)行的代碼,例如初始化代碼。37調(diào)試器CrossWind—使用方法
2、對已經(jīng)運行的任務(wù)進行調(diào)試(演示)
調(diào)試那些在程序啟動后會周期執(zhí)行或受事件觸發(fā)的代碼。主要是對任務(wù)的循環(huán)代碼、事件觸發(fā)代碼和中斷服務(wù)程序進行調(diào)試。系統(tǒng)模式。對整個應(yīng)用系統(tǒng)進行調(diào)試,可在系統(tǒng)中設(shè)置斷點等,調(diào)試中應(yīng)用系統(tǒng)必須停下來。任務(wù)模式(即動態(tài)調(diào)試)。調(diào)試是針對系統(tǒng)中某一任務(wù)模塊進行的,整個系統(tǒng)仍可保留在工作狀態(tài)。
38軟件邏輯分析器WindView—介紹
WindView是一個可視化的軟件實時邏輯分析器,它可提供系統(tǒng)運行過程中任務(wù)上下文切換、事件和有關(guān)對象的信息,其結(jié)構(gòu)如右圖所示。 tWvRBuffMgr任務(wù)用于收集事件數(shù)據(jù),并存儲在目標機的內(nèi)存(事件緩沖區(qū))中。 tWVUpload任務(wù)用于上傳事件數(shù)據(jù)到主機。 事件數(shù)據(jù)可以在主機上以圖形方式顯示,或者以文件方式存儲。39軟件邏輯分析器WindView—使用方法
啟動: 1、工具條按鈕啟動 2、菜單欄選項啟動
配置:
在配置對話框中選擇需要監(jiān)視的事件操作,包括上下文切換、任務(wù)狀態(tài)轉(zhuǎn)換和自定義方式三種。
操作控制:
在控制對話框控制各項操作。(WindView配置、上傳數(shù)據(jù)、查看事件日志、定時查看事件日志、啟動WindView、停止WindView)40132基礎(chǔ)知識介紹交叉開發(fā)環(huán)境的建立方法Tornado工具及其使用方法4常用的軟件調(diào)試開發(fā)方法41交叉開發(fā)環(huán)境的建立方法開發(fā)環(huán)境的啟動過程配置目標機配置主機42開發(fā)環(huán)境的啟動過程 開發(fā)環(huán)境的啟動通過引導文件bootrom.sys和操作系統(tǒng)映像文件VxWorks兩個文件完成。 引導文件bootrom.sys的主要作用類似于BIOS,一般存放在軟盤、目標機硬盤或目標機FLASH盤上,由Vxld或其他程序加載到內(nèi)存,用于初始化目標機上的硬件,建立VxWorks的運行環(huán)境,從引導設(shè)備上加載VxWorks操作系統(tǒng)映像,然后將CPU的控制權(quán)交給操作系統(tǒng)。
VxWorks是操作系統(tǒng)的映像文件,可以存放在bootrom.sys所在的軟盤、目標機硬盤、目標機FLASH盤或主機硬盤上(具體的存放位置與引導參數(shù)設(shè)置有關(guān)),由bootrom.sys的加載程序加載到目標機內(nèi)存。43開發(fā)環(huán)境的啟動過程 1、啟動目標機。
2、完成自檢后,從引導盤的指定位置引導,由Vxld或其他程序加載引導文件bootrom.sys到內(nèi)存。
3、引導文件bootrom.sys的主要作用類似于BIOS,用于初始化目標機上的硬件,建立VxWorks的運行環(huán)境。
4、加載VxWorks操作系統(tǒng)映像,然后將CPU的控制權(quán)交給操作系統(tǒng)。44bootrom.sys/vxWorks/引導盤之間的關(guān)系 引導盤是經(jīng)過處理的,專門用于加載bootrom.sys的介質(zhì)(可以是目標機上的軟盤、硬盤、Flash盤等),bootrom.sys存在于引導盤上。 引導盤加載bootrom.sys后,初始化目標機上的硬件,建立VxWorks的運行環(huán)境,然后從指定的位置上加載VxWorks操作系統(tǒng)映像,將CPU的控制權(quán)交給操作系統(tǒng)。(此處的指定位置與引導盤無關(guān),在引導行中已經(jīng)指定,可以是目標機軟盤、硬盤、Flash盤或主機硬盤)。
VxWorks是操作系統(tǒng)的映像文件,可以存放在bootrom.sys所在的軟盤、目標機硬盤、目標機FLASH盤或主機硬盤上(具體的存放位置與引導參數(shù)設(shè)置有關(guān)),由bootrom.sys的加載程序加載到目標機內(nèi)存。
[注]bootrom.sys的位置與VxWorks的位置沒有必然聯(lián)系。4546主機相關(guān)——安裝Tornado
1、安裝Tornado工具、BSP、組件模塊、軟件補丁等。
2、在命令行方式下,使用make命令編譯操作系統(tǒng)和組件工具。(根據(jù)購買的Tornado,可能需要該項操作)返回47主機相關(guān)——設(shè)置環(huán)境變量
在進行VxWorks系統(tǒng)軟件開發(fā)的過程中,經(jīng)常會用到Tornado提供的命令行工具進行某些操作。如利用make命令編譯文件、利用mkboot命令制作啟動盤等。這些命令都位于WIND_BASE\host\x86-win32\bin(WIND_BASE為Tornado的安裝目錄)目錄下,每個命令對應(yīng)一個可執(zhí)行文件。 默認情況下,需要在命令行方式下進入WIND_BASE\host\x86-win32\bin目錄才能執(zhí)行相應(yīng)的操作;此外,也可以把對應(yīng)命令的可執(zhí)行文件拷貝到我們需要的目錄下,然后在該目錄下執(zhí)行相應(yīng)的操作。48主機相關(guān)——設(shè)置環(huán)境變量
然而,在實際使用時經(jīng)常需要在不同的目錄下執(zhí)行各種操作,這就需要提供一種方式,使得既不用進入WIND_BASE\host\x86-win32\bin目錄,也不用拷貝對應(yīng)命令的可執(zhí)行文件到目標目錄,從而完成對各種命令的調(diào)用。 在Tornado的WIND_BASE\host\x86-win32\bin目錄下提供了一個批處理文件torVars.bat用于設(shè)置環(huán)境變量,該操作執(zhí)行結(jié)束后,即設(shè)置了命令的尋找路徑,使得在任何目錄下都可以成功調(diào)用WIND_BASE\host\x86-win32\bin目錄下的各種命令。 然而,使用torVars命令也不是一個很方便的方法,因為每次進入命令行方式后都需要重新執(zhí)行torVars操作,然后才可以在任何目錄中調(diào)用各種命令。49主機相關(guān)——設(shè)置環(huán)境變量
為了方便使用,可將torVars.bat中的內(nèi)容設(shè)置到用戶環(huán)境變量或系統(tǒng)環(huán)境變量中。內(nèi)容如下: WIND_HOST_TYPE=x86-win32 (與主機系統(tǒng)有關(guān)) WIND_BASE=C:\Tornado2.2 (與安裝目錄有關(guān)) PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;返回50主機相關(guān)——配置FTPServer
當配置引導行時,若設(shè)置目標機通過網(wǎng)絡(luò)形式加載宿主機硬盤上的VxWorks映像文件,則目標機在引導時通過FTP方式登錄宿主機FTPServer,并下載執(zhí)行宿主機硬盤上的VxWorks映像文件。在這種方式下,需要配置宿主機端的FTPServer,并且在目標機引導時啟動該FTPServer。 ?配置用戶名和密碼(與引導行中一致) ?配置主目錄(目標機通過FTP方式登錄到宿主機FTPServer后所進入的默認的宿主機目錄
)返回51主機相關(guān)——配置targetserver
TargetServer在宿主機上運行,用于管理Tornado主機工具和目標機系統(tǒng)之間的通訊。 TargetServer通過目標機代理與目標機系統(tǒng)通訊,目標機代理作為一個VxWorks任務(wù)或VxWorks的外層運行在目標機系統(tǒng)上。為了能夠正確的和目標機代理進行通訊,TargetServer要使用一個與目標機代理配置有相同的通訊協(xié)議和傳輸層的通訊后端。 在實際使用時,一般是一個TargetServer對應(yīng)一個目標機配置,在使用主機工具與目標機進行交互之前必須先啟動與該目標機對應(yīng)的TargetServer。操作演示!返回52目標機相關(guān)——硬件設(shè)置1、硬件連接和跳線設(shè)置。2、若要目標機支持網(wǎng)絡(luò),加載網(wǎng)卡驅(qū)動,則需確定目標機網(wǎng)卡芯片型號。3、若目標機采用10Mb網(wǎng)卡,需確定該網(wǎng)卡在目標機硬件環(huán)境下的中斷號和基地址。返回53目標機相關(guān)——制作引導盤 VxWorks系統(tǒng)引導盤是用來存儲bootrom.sys文件,并能夠在系統(tǒng)啟動后可以自動加載bootrom.sys文件的介質(zhì)。常用的作為引導盤的介質(zhì)有軟盤、硬盤或Flash盤。 Tornado提供了命令行工具vxsys用于制作VxWorks系統(tǒng)引導盤,其命令格式為:vxsys[盤符]。例如要將插入軟驅(qū)A中的軟盤做成VxWorks系統(tǒng)引導盤,則需要在命令行方式下鍵入“vxsysa:”。 當要使用硬盤作為VxWorks系統(tǒng)引導盤時需要注意,用于做引導盤的那個分區(qū)必須為FAT16格式,并且要被設(shè)置成活動的主引導區(qū)。返回54目標機相關(guān)——制作bootrom(設(shè)置引導行)
引導行的功能是指示VxWorks文件的加載地址,設(shè)置一些目標機的配置信息(如目標機IP地址),以便于bootrom.sys文件按照引導行的要求從指定位置加載VxWorks文件。 引導行的格式及常用的參數(shù)如下: dev(unitNum,procNum)hostName:/filePath[h=#e=#
u=#
pw=#
o=#tn=#
f=#
s=#]
55
dev代表存儲或加載VxWorks映像文件的介質(zhì),如下表所示:標識設(shè)備宏定義設(shè)備備注1備注2fdINCLUDE_FD軟盤需要DOSFS文件系統(tǒng)支持,需定義INCLUDE_DOSFSVxWorks映像存儲在目標機端介質(zhì)上ataINCLUDE_ATAATA硬盤ideINCLUDE_IDEIDE硬盤scsiINCLUDE_SCSISCSI硬盤tffsINCLUDE_TFFSDOCpcmciaINCLUDE_PCMCIAPCMCIA卡tsfsINCLUDE_TSFS串口VxWorks映像存儲在宿主機介質(zhì)上fei等INCLUDE_FEI_END網(wǎng)口56
dev示例: 若使用采用Intel82559芯片的網(wǎng)卡作為引導設(shè)備,則對應(yīng)引導行的dev為fei; 若采用ATA硬盤作為引導設(shè)備,則對應(yīng)引導行的dev為ata=0,0。其中,等號后面的第一個數(shù)字代表ATA控制器,為0代表第一個控制器,為1代表第二個控制器。等號后面的第二個數(shù)字代表控制器上的主盤或從盤,為0代表主盤master,為1代表從盤slave。57
unitNum為單元號。例如,當使用網(wǎng)絡(luò)作為引導設(shè)備時,unitNum的值代表系統(tǒng)中相同類型網(wǎng)卡的序號,為0代表第1塊網(wǎng)卡,為1則代表第二塊網(wǎng)卡,依次類推。
procNum為處理器編號。由于我們使用的目標機大部分都是單處理器的系統(tǒng),因此,procNum的值一般均為0。
hostName為主機名稱,可以任意指定。
filePath為待引導的VxWorks映像文件的位置及名稱。對于使用串口或網(wǎng)口作為引導設(shè)備的形式,filePath可填寫VxWorks的絕對路徑或相對路徑(與主機端的設(shè)置有關(guān));對于其它的引導設(shè)備,filePath一般填寫VxWorks的絕對路徑。58
可選設(shè)置項中的h和e分別代表主機IP和目標機IP,其設(shè)置值為點分十進制的IP地址(例如)。 可選設(shè)置項中的tn為目標機名稱,其值可設(shè)置為任意的字符串。 可選設(shè)置項中的u和pw分別代表宿主機端FTP服務(wù)器的用戶名和密碼。當使用網(wǎng)口作為引導設(shè)備時,目標機需要從宿主機硬盤上加載VxWorks映像文件,而這一加載過程是通過FTP方式進行的。目標機為FTP客戶,而宿主機為FTP服務(wù)器。 可選設(shè)置項中的o代表系統(tǒng)引導時還需加載(驅(qū)動)的設(shè)備的標識。例如使用ATA硬盤作為引導設(shè)備,但在啟動時還希望加載采用Intel82559芯片的網(wǎng)卡,則可在引導行中加入o=fei。59 設(shè)置項中的f為啟動標識,不同的值對應(yīng)不同的宏定義(在sysLib.h文件中定義),代表不同的含義。宏定義取值功能描述SYSFLG_NO_SYS_CONTROLLER0x01不使能系統(tǒng)控制器為處理器0SYSFLG_DEBUG0x02調(diào)試選項,用所有符號裝載內(nèi)核符號表SYSFLG_NO_AUTOBOOT0x04不進行自動引導SYSFLG_QUICK_AUTOBOOT0x08快速引導,不進行倒計時SYSFLG_NO_STARTUP_SCRIPT0x10不讀取啟動腳本SYSFLG_NO_SECURITY0x20安全登陸無效,在網(wǎng)絡(luò)注冊時無需密碼SYSFLG_AUTOCONFIG0x40使用bootp或DHCP得到引導參數(shù)SYSFLG_TFTP0x80使用TFTP獲得啟動映像SYSFLG_PROXY0x100使用代理ARPSYSFLG_WDB0x200使用WDB代理60 設(shè)置項中的s為系統(tǒng)啟動后執(zhí)行的腳本文件(其類型為文本文件),其設(shè)置值即為文本文件的路徑及文件名。該文件是一個shell可識別的文本文件(C語言解釋器)。VxWorks啟動后,targetShell將打開該文件,并逐行解釋執(zhí)行。例如腳本文件:
ld</ata/myApp.out spmyApp 該腳本文件從硬盤上加載myApp.out目標代碼,然后以任務(wù)形式調(diào)用函數(shù)myApp()啟動用戶應(yīng)用程序。這種加載用戶應(yīng)用程序的方式將用戶應(yīng)用程序與VxWorks系統(tǒng)內(nèi)核分離,有利于應(yīng)用程序單獨升級,大大提高了系統(tǒng)配置的靈活性。61幾個引導行的示例:軟盤加載: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 主機硬盤vxWorks加載: rtl(0,0)liulq:C:/Tornado220/target/config/pcPentium_221_rtl/vxWorks
h=
e=11
u=liulq
pw=liulq
f=0x08
tn=VxTarget62目標機相關(guān)——制作bootrom(設(shè)置網(wǎng)卡)
在實際使用中,常使用以太網(wǎng)實現(xiàn)宿主機與目標機之間的連接,這就需要在系統(tǒng)啟動時加載網(wǎng)絡(luò)驅(qū)動。系統(tǒng)默認支持的網(wǎng)卡類型如下:標識設(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è)目標機使用的是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è)目標機使用的是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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京2025年北京開放大學招聘14人筆試歷年參考題庫附帶答案詳解
- 加油站承包合同二零二五年
- 2025新疆中新建能源礦業(yè)有限責任公司部分崗位市場化招聘(2人)筆試參考題庫附帶答案詳解
- 滄州門面房租賃合同
- 建筑工程消防技術(shù)咨詢協(xié)議書二零二五年
- 場地承包經(jīng)營合同范例二零二五年
- 制藥企業(yè)安全生產(chǎn)教育培訓
- 2025企業(yè)借款抵押合同協(xié)議樣本
- 2025b廣東省商品房買賣合同
- 《2025年嚴格履行合同簽訂流程的通知書》
- 中華人民共和國文物保護法
- 2024中國綠氨產(chǎn)業(yè)研究報告
- 【基于Django框架的網(wǎng)上商城設(shè)計(論文)6800字】
- 2024光伏支架技術(shù)規(guī)范
- 危險化學品從業(yè)單位安全生產(chǎn)標準化評審標準(評分表)
- 醫(yī)院感染暴發(fā)及處理課件
- 小學五年級體育教案全冊(人教版)
- Illustrator教案設(shè)計課件
- 《校園空調(diào)租賃服務(wù)評價技術(shù)規(guī)范》編制說明
- 針刺止痛的神經(jīng)機制研究
- 300MW300MWh源網(wǎng)荷儲一體化儲能電站項目可行性研究報告模板-立項備案
評論
0/150
提交評論