




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 VxWorks與Tornado概貌 n6.1 VxWorks的產品概況的產品概況 n6.2 VxWorks的交叉開發環境構成的交叉開發環境構成n6.3 VxWorks的操作系統的操作系統 n6.4 VxWorks的集成開發工具的集成開發工具Tornadon6.5 目標機上的目標機上的VxWorks Image n6.6 一個簡單的工程項目實例一個簡單的工程項目實例n6.7 本章小結本章小結 n習題習題 6.1 VxWorks的產品概況 n 操作系統面向不同領域的版本操作系統面向不同領域的版本nVxWorksVxWorks基本版:提供微內核和基本模基本版:提供微內核和基本模塊組件塊組件(
2、 (如如I/OI/O系統、文件系統、網絡系系統、文件系統、網絡系統等)統等)nVxWorks AEVxWorks AE版:版:針對針對國防國防、航天、測量、航天、測量、控制系統控制系統推出的高推出的高可靠性可靠性產品產品nOSEKWorksOSEKWorks版:版:集成的通信機制使控制器集成的通信機制使控制器網網絡絡良好工作,適用于汽車工業良好工作,適用于汽車工業nVSPWorksVSPWorks版:版:適用于多處理器的適用于多處理器的DSPDSP系統系統 6.1 VxWorks的產品概況 2 2交叉交叉開發開發工具工具TornadoTornadon 圖形化的集成圖形化的集成交叉交叉開發工具開
3、發工具 包括包括n項目管理工具項目管理工具n編輯器編輯器n編譯器編譯器: :GNU&DiabGNU&Diabn下載器下載器n調試器調試器: :命令行命令行& &圖形圖形6.1 VxWorks的產品概況 n 對應安裝后的目錄文件:對應安裝后的目錄文件: Tornado2.2hostTornado2.2host 例:例:6.1 VxWorks的產品概況 3 3相關文檔相關文檔 位于安裝目錄下的位于安裝目錄下的Tornado2.2docsTornado2.2docs子目錄中子目錄中n VxWorksVxWorks操作系統方面的文檔操作系統方面的文檔nVxWorks P
4、rogrammers GuideVxWorks Programmers GuidenVxWorks OS LibrariesVxWorks OS LibrariesAPI ReferenceAPI Reference n TornadoTornado方面的文檔方面的文檔nTornado Users GuideTornado Users GuidenTornado API Programmers GuideTornado API Programmers Guide6.1 VxWorks的產品概況 n NetworkNetwork方面的文檔方面的文檔 nVxWorks Networking Pro
5、grammers VxWorks Networking Programmers GuideGuide6.2 VxWorks交叉開發環境構成n 交叉開發環境構成交叉開發環境構成n VxWorks的交叉開發環境的交叉開發環境6.2 VxWorks交叉開發環境構成 1.1.交叉開發環境構成交叉開發環境構成 n ( (宿宿) )主機(主機(HostHost)n 目標機(目標機(TargetTarget)n 主機和目標機之間的通信機制主機和目標機之間的通信機制 主機交叉編譯器交叉調試器目標機Image串口或網口主機:交叉編譯器交叉調試器目標機:Image串口或網口圖圖6-1 (宿)主機與目標機(宿)主機
6、與目標機 6.2 VxWorks交叉開發環境構成 n ( (宿宿) )主機(主機(HostHost)n 用于輔助嵌入式系統軟件開發用于輔助嵌入式系統軟件開發n 由通用機完成(如由通用機完成(如PCPC機或工作站)機或工作站)n Windows95 /NTWindows95 /NT或或 UNIXUNIX環境環境n 安裝集成開發環境(安裝集成開發環境(IDEIDE),包括),包括n交叉編譯器交叉編譯器(Cross Compiler)(Cross Compiler):在主機上編譯:在主機上編譯生成可以在目標機上運行的代碼生成可以在目標機上運行的代碼IMAGEIMAGEn交叉調試器交叉調試器(Cros
7、s Debugger)(Cross Debugger):通過主機和目:通過主機和目標機之間的某種耦合方式實現前后臺調試標機之間的某種耦合方式實現前后臺調試6.2 VxWorks交叉開發環境構成 n 目標機(目標機(TargetTarget) n 用戶自己開發的嵌入式硬件設備用戶自己開發的嵌入式硬件設備 n 其上運行目標其上運行目標IMAGEIMAGE6.2 VxWorks交叉開發環境構成 n主機和目標機之間的通信主機和目標機之間的通信采用目標服務器(采用目標服務器(Target ServerTarget Server)/ /目標代理(目標代理(Target AgentTarget Agent)
8、的方式)的方式 n目標服務器目標服務器:指在主機上運行的一個服務,:指在主機上運行的一個服務,它管理主機上的各開發調試工具之間以及主機它管理主機上的各開發調試工具之間以及主機和目標機之間的通信聯系(每一個目標機要求和目標機之間的通信聯系(每一個目標機要求對應有一個目標服務器)對應有一個目標服務器) n目標代理目標代理: :運行在目標機上,執行目標服務運行在目標機上,執行目標服務器送來的請求,然后回送執行結果器送來的請求,然后回送執行結果6.2 VxWorks交叉開發環境構成 2. VxWorks的交叉開發環境的交叉開發環境圖圖6-1 (宿)主機與目標機(宿)主機與目標機 6.2 VxWorks
9、交叉開發環境構成 n 主機(主機(HostHost)n 集成開發環境為集成開發環境為Tornado Tornado n 系統安裝時,集成調試環境系統安裝時,集成調試環境TornadoTornado和和VxWorksVxWorks操作系統的原材料安裝到主機上操作系統的原材料安裝到主機上 6.2 VxWorks交叉開發環境構成 n 目標機(目標機(TargetTarget) n 可執行代碼可執行代碼IMAGEIMAGE通常取名為通常取名為VxWorks VxWorks (與(與VxWorksVxWorks操作系統同名)操作系統同名) n IMAGEIMAGE由由 BSPBSP(板級支持包)、(板級
10、支持包)、VxWorksVxWorks操作操作系統和應用程序三個部分組成系統和應用程序三個部分組成 6.2 VxWorks交叉開發環境構成 n主機和目標機之間的通信主機和目標機之間的通信 Target Server-AgentTarget Server-Agent的方式的方式n主機上主機上TornadoTornado的各調試工具通過的各調試工具通過VxWorksVxWorks自定義的通信協議自定義的通信協議WTXWTX與目標服與目標服務器通信務器通信n目標服務器與運行在目標機上的目標代目標服務器與運行在目標機上的目標代理理WDB AgentWDB Agent通過通過 WDBWDB 協議交換信息
11、協議交換信息 nWDB AgentWDB Agent可運行在系統級和任務級兩種可運行在系統級和任務級兩種模式下模式下6.3 VxWorks的操作系統 n VxWorks VxWorks操作系統的體系結構操作系統的體系結構 n VxWorksVxWorks的內核的內核 n VxWorksVxWorks的外掛基本模塊組件的外掛基本模塊組件 n VxWorksVxWorks的外掛附加模塊組的外掛附加模塊組 6.6.1 VxWorks操作系統體系結構 n 模塊化組件模塊化組件體系結構體系結構 ( (見下圖見下圖) ) n 由內核和各種外掛模塊組件構成由內核和各種外掛模塊組件構成n 外掛基本模塊組件包括
12、外掛基本模塊組件包括I/OI/O系統、文件系系統、文件系統、網絡系統、加載調試等開發工具組件、統、網絡系統、加載調試等開發工具組件、POSIXPOSIX接口等兼容性組件、圖形界面組件等接口等兼容性組件、圖形界面組件等n 外掛模塊又可分為外掛基本模塊組件和外外掛模塊又可分為外掛基本模塊組件和外掛附加模塊組件兩種類型掛附加模塊組件兩種類型6.6.1 VxWorks操作系統體系結構 圖圖6-3 VxWorks操作系統體系結構操作系統體系結構 6.6.1 VxWorks操作系統體系結構 n 具有可裁剪性具有可裁剪性 n VxWorks VxWorks庫由庫由400400多個相對獨立的、短小的多個相對獨
13、立的、短小的目標模塊目標模塊組件組件組成組成n 裁減的粒度較小,不會造成裁減的粒度較小,不會造成一個小功能的一個小功能的需求需求導致導致引入一個大的組件模塊引入一個大的組件模塊 6.6.2 VxWorks的內核 VxWorksVxWorks操作系統的內核操作系統的內核WindWind操作系統的核心操作系統的核心n 功能功能n任務的創建與管理、搶占式任務的創建與管理、搶占式任務調度、任務任務調度、任務間通信間通信機制機制、任務的同步與互斥、任務的同步與互斥、定時器和定時器和中斷處理、內存管理、中斷處理、內存管理、出錯處理出錯處理等等n此外此外提供符合實時系統標準提供符合實時系統標準1006.1b
14、1006.1b的的POSIX POSIX 接口,以提高應用程序代碼可移植性接口,以提高應用程序代碼可移植性 6.6.2 VxWorks的內核 n特點特點n采用微內核結構采用微內核結構n只關心只關心CPUCPU,對外設不做假設,對外設不做假設n如不關心總線類型、內存大小和如不關心總線類型、內存大小和I/OI/O設備等設備等n基本硬件基本硬件是由是由BSPBSP板級支持包驅板級支持包驅動動n客戶定制硬件可由應用程序驅動客戶定制硬件可由應用程序驅動 6.3.3 VxWorks的外掛基本模塊組件 VxWorksVxWorks提供的外掛基本模塊組件包括提供的外掛基本模塊組件包括n I/OI/O系統系統n
15、 文件系統文件系統n 網絡系統網絡系統 n 加載調試等開發工具組件加載調試等開發工具組件n POSIXPOSIX接口等兼容性組件等接口等兼容性組件等6.3.3 VxWorks的外掛基本模塊組件 n I/O I/O系統系統 提供與設備提供與設備無關無關的的統一訪問統一訪問接口接口n 管理的設備管理的設備字符設備、塊設備、虛擬設備字符設備、塊設備、虛擬設備 ( (管道、管道、 Socket)Socket)、控制和控制和監控設備、網絡設備等監控設備、網絡設備等 n 接口種類接口種類n 與與UnixUnix標準兼容的基本標準兼容的基本I/OI/O系統系統, ,如如read() read() n 與與A
16、NSI CANSI C兼容的帶緩存兼容的帶緩存I/OI/O系統系統, ,如如freadfread()()n 格式化格式化I/OI/O系統系統, ,如如printf()printf()、sprintfsprintf()()n POSIX POSIX接口的異步接口的異步I/OI/O系統系統6.3.3 VxWorks的外掛基本模塊組件 n 文件系統文件系統 提供多種文件系統提供多種文件系統, ,適用于不同環境適用于不同環境 n dosFsdosFs: : 針對塊設備提供針對塊設備提供, ,兼容兼容MS-DOSMS-DOS,通常,通常作為目標機的文件系統作為目標機的文件系統n rawFsrawFs:
17、:將整個硬盤視為單個文件來操縱將整個硬盤視為單個文件來操縱n tapeFstapeFs: : 針對磁帶設備提供針對磁帶設備提供n cdromFscdromFs: : 針對針對CD-ROM CD-ROM 設備提供設備提供n TSFSTSFS: :主機文件系統在目標機中的映射,主機文件系統在目標機中的映射,串口串口調試時常使用調試時常使用(自定義文件系統)(自定義文件系統) 6.3.3 VxWorks的外掛基本模塊組件 n 網絡系統網絡系統 提供提供 ( (見下圖見下圖) )n 兼容兼容BSDBSD的的SocketSocket接口接口 僅在實時性上進行了較大的修改,如用僅在實時性上進行了較大的修改
18、,如用信號量信號量 代替原代替原TCP/IPTCP/IP實現中的實現中的 Interrupt Lock Interrupt Lock 和修改原和修改原SocketSocket代碼代碼中無中無TimeoutTimeout的部分等的部分等 n 多種網絡協議多種網絡協議 包括包括ICMPICMP、IGMPIGMP、IPIP、UDPUDP、TCPTCP、OSPFOSPF和和RIPRIP等等 n 多種網絡服務多種網絡服務 包括包括FTPFTP、TelnetTelnet、HTTP HTTP 和和 DNS DNS 等等6.3.3 VxWorks的外掛基本模塊組件 圖圖6-4 VxWorks網絡系統結構網絡系
19、統結構 6.3.3 VxWorks的外掛基本模塊組件 n 加載調試等開發工具組件加載調試等開發工具組件 包括運行在目標機上的包括運行在目標機上的 n 動態加載器動態加載器Loader Loader n 目標機調試代理目標機調試代理 WDB Agent WDB Agent n Target Shell Target Shell n Symbol Table Symbol Table等等6.3.3 VxWorks的外掛基本模塊組件 n 兼容性組件兼容性組件 包括包括n POSIXPOSIX標準接口組件標準接口組件提供實時系統的內核、提供實時系統的內核、I/OI/O系統等擴展系統等擴展(1006.1
20、b1006.1b)的)的POSIXPOSIX標準接口標準接口 n ANSI CANSI C組件組件提供可一套可重入的提供可一套可重入的ANSI CANSI C庫函數庫函數 n C C組件組件提供對提供對C C語言的支持語言的支持 6.6.4 VxWorks的外掛附加模塊組件 n 內核方面內核方面 提供提供n VxMPVxMP組件:支持多組件:支持多CPUCPU間的共享內存間的共享內存通訊方式通訊方式n VxFusionVxFusion組件:支持分布式應用中的組件:支持分布式應用中的消息隊列消息隊列n VxVMIVxVMI組件:虛擬內存接口組件:虛擬內存接口6.6.4 VxWorks的外掛附加模
21、塊組件 n I/O I/O系統方面系統方面 提供提供n 各種嵌入式處理器的各種嵌入式處理器的BSPBSP模板模板n DriverDriver:包括:包括RAM RAM 、IDEIDE和軟盤和軟盤 、鍵盤、鍵盤 、顯示器顯示器 、串口、并口、串口、并口 、網絡、網絡 n BSPBSP開發包開發包n USBUSB開發包開發包n Wind Net802.1xWind Net802.1x無線局域網設備驅動程序無線局域網設備驅動程序等等 6.6.4 VxWorks的外掛附加模塊組件 n 文件系統方面文件系統方面 提供提供TrueFFSTrueFFS(FlashFlash文件系統)文件系統)n 網絡系統方
22、面網絡系統方面 提供提供Wind NetWind Net組件(支持組件(支持PPP/PPPoEPPP/PPPoE、MultilinkMultilink、Radius ClientRadius Client、ISDNISDN、IPv6IPv6、IPSec&IKEIPSec&IKE、DeviceNetDeviceNet、CANCAN、Ethernet/IPEthernet/IP、DCOMDCOM、OPCOPC等)、等)、Wind Wind ManageManage組件(支持組件(支持CLICLI、MIBWayMIBWay、SNMPSNMP、WEB WEB ServerServer等
23、)等) 6.6.4 VxWorks的外掛附加模塊組件 n 圖形界面方面圖形界面方面 提供提供n WindMLWindML :圖形用戶界面的媒體庫:圖形用戶界面的媒體庫 n Zinc Zinc :主機上用于創建目標機圖:主機上用于創建目標機圖形界面的軟件,產生的代碼需要在形界面的軟件,產生的代碼需要在WindMLWindML的支持下運行的支持下運行6.4 VxWorks的集成開發工具Tornado n Tornado Tornado的基本結構的基本結構 n TornadoTornado的功能特點的功能特點 n TornadoTornado的工具集的工具集6.4.1 Tornado的基本結構 To
24、rnado ManagerProject Tools Internal Bus Symbol Server Communication server . . . Tornado ManagerProject Tools Internal Bus Symbol Server Communication server . . . 圖圖6-5 Tornado6-5 Tornado的軟總線結構的軟總線結構 軟總線的層次結構軟總線的層次結構:6.4.2 Tornado的功能特點 n TornadoTornado的功能的功能 將與操作系統和應用程序運行無關的工作將與操作系統和應用程序運行無關的工作(如編輯
25、、編譯、調試、配置等)與目標(如編輯、編譯、調試、配置等)與目標機分離機分離n一方面使這些工作不會與操作系統掙搶目一方面使這些工作不會與操作系統掙搶目標機上有限的資源標機上有限的資源n另一方面將它們集成在一個開發環境中以另一方面將它們集成在一個開發環境中以方便系統系統的開發和調試工作方便系統系統的開發和調試工作 6.4.2 Tornado的功能特點 n TornadoTornado的特點的特點n 集成性集成性集成了編輯、編譯、調試、仿真測試、項集成了編輯、編譯、調試、仿真測試、項目管理等方面的一系列工具目管理等方面的一系列工具 n 開放性開放性作為一開放環境,作為一開放環境,TornadoTo
26、rnado與目標機的連接與目標機的連接通過統一接口進行,接口提供豐富的通過統一接口進行,接口提供豐富的APIAPI,用戶可方便的定制和擴展各開發工具用戶可方便的定制和擴展各開發工具 6.4.3 Tornado的工具集 針對各個階段進行了需求分析,推出了一針對各個階段進行了需求分析,推出了一系列的工具:系列的工具:n 工程項目管理工具:工程項目管理工具:Project Facility Project Facility n 編輯器:編輯器:Editor Editor n 編譯器:編譯器:Compiler Compiler n 加載調試器:加載調試器: Launcher Launcher 、Inc
27、rement Loader Increment Loader 、WindShWindSh 、 CrossWindCrossWind 、BrowserBrowser、WindViewWindView n 仿真器仿真器 :VxSimVxSim 等等6.4.3 Tornado的工具集 n Project FacilityProject FacilityTornadoTornado的工程配置工具的工程配置工具 n提供圖形化環境下的工程文件管理、對提供圖形化環境下的工程文件管理、對VxWorksVxWorks操作系統及其組件的配置、編譯環操作系統及其組件的配置、編譯環境的設置、境的設置、Makefile
28、Makefile自動生成等功能自動生成等功能 n支持與通用配置管理工具(如支持與通用配置管理工具(如ClearCaseClearCase)的集成的集成 6.4.3 Tornado的工具集 n Editor Editor TornadoTornado的源代碼編輯器的源代碼編輯器n提供基本的代碼文字編輯功能提供基本的代碼文字編輯功能 n支持支持C C和和C+C+語法格式的高亮顯示語法格式的高亮顯示 n與與TornadoTornado的編譯器進行了集成的編譯器進行了集成Project FacilityProject Facility可根據編譯器給出的錯誤或可根據編譯器給出的錯誤或警告信息直接定位到警
29、告信息直接定位到EditorEditor窗口相應源代碼處窗口相應源代碼處 n與與TornadoTornado的調試器也進行了集成的調試器也進行了集成EditorEditor窗口能跟蹤代碼的執行,實現源代碼級窗口能跟蹤代碼的執行,實現源代碼級的調試的調試6.4.3 Tornado的工具集 n不足之處不足之處n 不支持中文不支持中文n 不具備對代碼間各函數調用關系等的分析及不具備對代碼間各函數調用關系等的分析及直接跳轉定位能力直接跳轉定位能力 6.4.3 Tornado的工具集 n Compiler Compiler 編譯器編譯器 n提供支持提供支持C C和和C C語言的語言的GNUGNU和和Di
30、abDiab交叉編交叉編譯器以及一些標準庫譯器以及一些標準庫 6.4.3 Tornado的工具集 n Launcher Launcher 主機與目標機連接的配置器和啟動器主機與目標機連接的配置器和啟動器 n可連接多個目標機同時調試可連接多個目標機同時調試 6.4.3 Tornado的工具集 n Increment Loader Increment Loader TornadoTornado的增量加載器的增量加載器 n使開發者能夠動態地加載新增模塊到目標使開發者能夠動態地加載新增模塊到目標機上并與目標機上已存在的機上并與目標機上已存在的VxWorks ImageVxWorks Image實現動態
31、鏈接實現動態鏈接 6.4.3 Tornado的工具集 n WindShWindSh TornadoTornado的的Command ShellCommand Shell(命令行執行(命令行執行工具工具 n可執行大部分可執行大部分C C語言表達式及語言表達式及TCLTCL(Tools Tools Command LanguageCommand Language)語言)語言 n可執行已加載到目標機的模塊中包含的任可執行已加載到目標機的模塊中包含的任何函數,包括系統調用何函數,包括系統調用 n此外此外提供簡單的代碼調試命令提供簡單的代碼調試命令 6.4.3 Tornado的工具集 n CrossWi
32、ndCrossWind TornadoTornado的圖形化的交叉調試器的圖形化的交叉調試器 n支持源代碼級調試支持源代碼級調試 n支持混合代碼和匯編代碼顯示支持混合代碼和匯編代碼顯示 n支持多目標機同時調試支持多目標機同時調試n提供系統級和任務級兩種調試模式提供系統級和任務級兩種調試模式 6.4.3 Tornado的工具集 n Browser Browser TornadoTornado的系統對象的瀏覽器的系統對象的瀏覽器 n可觀察目標機上的任務、隊列、信號量、可觀察目標機上的任務、隊列、信號量、模塊、變量、模塊、變量、堆棧堆棧、任務的、任務的CPUCPU占用率占用率的狀的狀態信息態信息 6
33、.4.3 Tornado的工具集 n WindViewWindView TornadoTornado的軟件邏輯分析工具的軟件邏輯分析工具n提供提供圖形化的動態跟蹤分析圖形化的動態跟蹤分析功能功能 n可監視任務的切換狀況、每個任務狀態的可監視任務的切換狀況、每個任務狀態的變化、中斷的發生、系統事件的發生(信變化、中斷的發生、系統事件的發生(信號號量、量、消息隊列、定時器)及用戶自己定消息隊列、定時器)及用戶自己定義的事件,還可以檢查系統崩潰義的事件,還可以檢查系統崩潰 6.4.3 Tornado的工具集 n VxSim VxSim TornadoTornado的目標機仿真器的目標機仿真器 n運行
34、在主機上,運行在主機上,在沒有目標機的情況下可在沒有目標機的情況下可以以提供和真實目標機一致的調試和仿真運提供和真實目標機一致的調試和仿真運行環境以行環境以進行程序的調試進行程序的調試 nVxSimVxSim的單用戶版本的單用戶版本的仿真器集成在的仿真器集成在Tornado Tornado 開發環境中開發環境中,它只提供,它只提供基本的操基本的操作系統功能作系統功能,不,不具有具有網絡功能網絡功能n完整的完整的VxSimVxSim是作為是作為TornadoTornado的附件產品出的附件產品出售,支持多用戶和網絡功能等售,支持多用戶和網絡功能等 6.5 目標機上的VxWorks Image n
35、 目標機上的可執行代碼目標機上的可執行代碼ImageImage通常取名為通常取名為VxWorksVxWorks(與(與VxWorksVxWorks嵌入式實時操作系統同名)嵌入式實時操作系統同名)n VxWorks ImageVxWorks Image在主機上的在主機上的TornadoTornado集成開發集成開發環境中編譯生成,通過某種方式加載到目標機環境中編譯生成,通過某種方式加載到目標機的內存中運行的內存中運行n TornadoTornado可以為可以為VxWorksVxWorks和應用程序代碼生成和應用程序代碼生成多種類型的多種類型的ImageImage,以靈活的適應多種不同的,以靈活的
36、適應多種不同的目標機開發運行環境目標機開發運行環境 6.5.1 VxWorks Image的種類與結構 VxWorks ImageVxWorks Image包括兩大類型包括兩大類型 :n Bootable ImageBootable Imagen Downloadable Image Downloadable Image6.5.1 VxWorks Image的種類與結構 1 1Bootable Image Bootable Image n Bootable Image Bootable Image 的功能的功能 自啟動執行的自啟動執行的ImageImage文件文件6.5.1 VxWorks I
37、mage的種類與結構 n Bootable ImageBootable Image的結構的結構圖圖6-6 Bootable Image基本結構基本結構 6.5.1 VxWorks Image的種類與結構 n (1) BSP(1) BSP由初始化和基本驅動程序兩部分功能組成由初始化和基本驅動程序兩部分功能組成n 初始化初始化n初始化是指從系統上電復位開始直到初始化是指從系統上電復位開始直到WindWind內核和內核和UsrRootUsrRoot根任務啟動的這段時間,系根任務啟動的這段時間,系統的執行過程統的執行過程 n初始化過程包括:(見下圖)初始化過程包括:(見下圖)6.5.1 VxWorks
38、 Image的種類與結構 圖圖6-7 BSP的初始化過程的初始化過程 CPU InitCPU Init:初始化:初始化CPUCPU的內部寄存器的內部寄存器 Board InitBoard Init:初始化:初始化I/OI/O的寄存器,將的寄存器,將I/O deviceI/O device驅動驅動 System InitSystem Init:為系統的運行準備數據結構,進行數據初始化:為系統的運行準備數據結構,進行數據初始化6.5.1 VxWorks Image的種類與結構 n基本驅動程序基本驅動程序 n功能:完成最小功能:完成最小I/OI/O設備的讀寫訪問操作設備的讀寫訪問操作 n特點:不能自
39、動執行,只能被動調用特點:不能自動執行,只能被動調用調用有三種方式:調用有三種方式: (見圖(見圖6-86-8)n任務直接調用任務直接調用n任務調用任務調用System CallSystem Calln任務調用組件提供的服務任務調用組件提供的服務 對應驅動程序三種抽象層次(見圖對應驅動程序三種抽象層次(見圖6-9) 圖圖6-8 驅動程序的調用方式驅動程序的調用方式 圖圖6-9 驅動程序的三個層次驅動程序的三個層次 6.5.1 VxWorks Image的種類與結構 n常規操作常規操作設備的固有操作邏輯,包括設備的固有操作邏輯,包括I/O編址和編址和CPU操作操作Device的各寄存器兩個方面的
40、內容的各寄存器兩個方面的內容n優點:優點:不需通過操作系統而直接訪問設備不需通過操作系統而直接訪問設備 ,效率高效率高 n缺點:可移植性差缺點:可移植性差 n適用場合適用場合:簡單的嵌入式系統簡單的嵌入式系統 n驅動程序與驅動程序與VxWorks內核和擴展內核和擴展的的Component接口接口包括包括I/O管理、操作類型規整和參數規整三個方面管理、操作類型規整和參數規整三個方面n優點:具有較好的層次性和抽象性優點:具有較好的層次性和抽象性 ,可移植性好,可移植性好 n缺點:通過操作系統管理設備,增加了系統開銷缺點:通過操作系統管理設備,增加了系統開銷 n適用場合:復雜的嵌入式系統適用場合:復
41、雜的嵌入式系統 6.5.1 VxWorks Image的種類與結構 n (2) (2) VxWorksVxWorks n 中間層中間層n 為用戶定制的為用戶定制的VxWorksVxWorks操作系統操作系統( (內核和各外內核和各外掛功能模塊組件掛功能模塊組件) )n (3) (3) APPAPP n 上層上層n 為用戶編寫的應用程序(為用戶編寫的應用程序(APPAPP) 6.5.1 VxWorks Image的種類與結構 n Bootable ImageBootable Image的種類的種類n ROM ImageROM Image直接燒寫至直接燒寫至ROMROM類存儲器中,加電后自行啟動運
42、行類存儲器中,加電后自行啟動運行 例:例:BootROMBootROM(即(即BootLoaderBootLoader或或BootImageBootImage)根據加載方式不同(見后),可進一步分類為:根據加載方式不同(見后),可進一步分類為: n ROM-based Image ROM-based Image n ROM-resident Image ROM-resident Image n RAM Image RAM Image通過網口或串行口由通過網口或串行口由BootROMBootROM加載到內存中運行加載到內存中運行 6.5.1 VxWorks Image的種類與結構 2 2Down
43、loadable Image Downloadable Image n 功能功能 動態加載的程序映象動態加載的程序映象通過網口或串行口加載到目標機上與目標機通過網口或串行口加載到目標機上與目標機中已存在的中已存在的Bootable ImageBootable Image動態鏈接后運行動態鏈接后運行 n 結構結構只包含用戶應用程序(只包含用戶應用程序(APPAPP)部分)部分6.5.2 VxWorks Image在內存中的存放與加載 1 1VxWorks ImageVxWorks Image在內存中的存放在內存中的存放 靜態分配的靜態分配的IMAGEIMAGE占用空間占用空間(.(.textte
44、xt、.data.data、.bss.bss) )系統的動態空間系統的動態空間(Wind kernelWind kernel創建的創建的REGION#0REGION#0)用戶的動態空間用戶的動態空間6.5.2 VxWorks Image在內存中的存放與加載 2 2VxWorks ImageVxWorks Image加載到內存的方式加載到內存的方式 靜態鏈接與加載靜態鏈接與加載( (Bootable Image)Bootable Image) 動態鏈接與加載動態鏈接與加載( (Downloadable Image)Downloadable Image)6.5.2 VxWorks Image在內存
45、中的存放與加載 (1) Bootable Image(1) Bootable Image的加載的加載 Bootable ImageBootable Image的加載分為以下類型的加載分為以下類型:n ROM ImageROM Imagen ROM-Resident Image ROM-Resident Imagen ROM-Based Image ROM-Based Imagen RAM Image RAM Image6.5.2 VxWorks Image在內存中的存放與加載 ROM-resident Image ROM-resident Image的加載的加載 加載過程:加載過程:(見下圖)
46、見下圖)n BSPBSP初始化時將初始化時將ROM-resident ImageROM-resident Image中的中的DataData段和段和BSSBSS段復制到段復制到RAMRAM中中n codecode(即(即TextText段)在段)在ROMROM中運行中運行6.5.2 VxWorks Image在內存中的存放與加載 圖圖6-11 ROM-resident Image的加載的加載 6.5.2 VxWorks Image在內存中的存放與加載 ROM-based Image ROM-based Image的加載的加載 加載過程:加載過程:(見下圖)見下圖)BSPBSP初始化時將初始化時
47、將ROM-based ImageROM-based Image(分(分壓縮和非壓縮兩種類型)從壓縮和非壓縮兩種類型)從ROM/FlashROM/Flash完全搬到完全搬到RAMRAM中執行,包括中執行,包括ImageImage中的中的TextText段和段和DataData段、段、BSSBSS段段 6.5.2 VxWorks Image在內存中的存放與加載 圖圖6-12 ROM-based Imag的加載的加載 6.5.2 VxWorks Image在內存中的存放與加載 RAM Image RAM Image的加載的加載 加載過程:加載過程:n 目標機上電后,由引導代碼將目標機上電后,由引導代
48、碼將BootROMBootROM搬搬到到RAMRAM中,中,BootROMBootROM初始化調試下載通道和調初始化調試下載通道和調試信息輸出通道試信息輸出通道n 在目標機上的在目標機上的BootROMBootROM(此時充當(此時充當FTP FTP ClientClient)和主機上的)和主機上的FTP ServerFTP Server作用下,被作用下,被調試的主機上的調試的主機上的Downloadable ImageDownloadable Image通過通過FTPFTP協議下載(協議下載(downloaddownload)到)到TargetTarget的的RAMRAM中,中,然后接受控制
49、權,實現調試然后接受控制權,實現調試 6.5.2 VxWorks Image在內存中的存放與加載 (2) Downloadable Image(2) Downloadable Image的加載的加載 加載過程:加載過程: (見下圖)(見下圖)n 目標機上電后,目標機上電后,BootROMBootROM(或者是(或者是Bootable ImageBootable Image)自舉到)自舉到RAMRAM中,中,BootROMBootROM(或者是(或者是Bootable ImageBootable Image)初始化調試下載)初始化調試下載通道和調試信息輸出通道通道和調試信息輸出通道 6.5.2
50、VxWorks Image在內存中的存放與加載 n 在目標機上在目標機上BootROMBootROM(或者是(或者是Bootable Bootable ImageImage)的動態加載器的作用下,被調試的)的動態加載器的作用下,被調試的主機上的主機上的Downloadable ImageDownloadable Image通過通過HostHost與與TargetTarget之間的之間的Target-Server/Target Target-Server/Target ClientClient耦合方式下載(耦合方式下載(downloaddownload)到)到TargetTarget的的RAMR
51、AM中,然后接受控制權,實現調試中,然后接受控制權,實現調試 6.5.2 VxWorks Image在內存中的存放與加載 圖圖6-13 Downloadable Image的加載的加載 6.5.3 VxWorks Image的運行 n 初始化初始化 自下而上自下而上(bottom_upbottom_up)n 執行執行 自上而下自上而下(top_downtop_down)6.5 目標機上的VxWorks Image小結:小結:VxWorks ImageVxWorks Image的種類的種類 Bootable Bootable ImageImageROM ImageROM ImageRAM Ima
52、geRAM ImageROM-basedROM-basedImageImage ROM-residentROM-residentImageImage 非壓縮非壓縮壓縮壓縮Downloadable Downloadable ImageImage 6.5 目標機上的VxWorks Image VxWorks ImageVxWorks Image的應用的應用 n 在開發階段在開發階段n 一般使用一般使用Downloadable ImageDownloadable Image動態下載后與操作系統及其它目標文件動態鏈接動態下載后與操作系統及其它目標文件動態鏈接( (與與DOSDOS的的* *.EXE.E
53、XE文件相類似,地址在編譯鏈接后是浮動的,文件相類似,地址在編譯鏈接后是浮動的,只在裝載到內存后才與絕對物理地址相對應只在裝載到內存后才與絕對物理地址相對應) ) 節省開發過程中每次編譯鏈接操作系統的時間節省開發過程中每次編譯鏈接操作系統的時間 便于團隊進行大型應用程序的并行合作開發便于團隊進行大型應用程序的并行合作開發n 也可使用也可使用RAM Bootable ImageRAM Bootable Image6.5 目標機上的VxWorks Imagen 在成品階段在成品階段 一般使用一般使用Bootable ImageBootable Imagen 采用靜態鏈接采用靜態鏈接, ,一次生成并
54、固化到目標機一次生成并固化到目標機中后一般很少修改變化中后一般很少修改變化n 具體類型根據具體類型根據ROM/RAMROM/RAM大小和運行效率要大小和運行效率要求選用求選用 6.6一個簡單的工程項目實例 使用使用TornadoTornado及其目標仿真器及其目標仿真器VxSimVxSim,開發調試一個開發調試一個Downloadable ImageDownloadable Image的的工程項目工程項目: :n(1) (1) 創建創建一個工作空間和一個工作空間和工程工程項目項目 n(2) (2) 在工程在工程項目中項目中創建應用創建應用程序程序 n(3) (3) 編譯鏈接生成目標映象編譯鏈接
55、生成目標映象Downloadable ImageDownloadable Imagen(4) (4) 在主機上在主機上,將目標映象,將目標映象下載到目標下載到目標機機VxSimVxSim6.6一個簡單的工程項目實例 n (5)(5)目標映象的運行調試目標映象的運行調試 包括包括n使用使用 WindShWindSh啟動啟動運行運行程序程序n使使用用 Browser Browser 觀察目標機內存使用情況觀察目標機內存使用情況n使用使用 WindView WindView 邏輯分析器動態分析任務的調邏輯分析器動態分析任務的調度過程度過程n使用使用CrossWindCrossWind進行進行debu
56、gdebug6.6.1 創建工程項目 (1) (1) 啟動啟動 T Tornadornado o T Tornadornado o安裝完成后,安裝完成后,選擇選擇 Windows Windows 的菜單的菜單【開始】【開始】【程序】【程序】【 Tornado2.2 Tornado2.2 】【 Tornado Tornado 】,開始,開始 TornadoTornado,出現如圖,出現如圖6-6-1616所示的【所示的【 Create Project in Create Project in New/Existing Workspace New/Existing Workspace 】對話框對話
57、框 6.6.1 創建工程項目 圖圖6-16 6-16 創建項目對話框創建項目對話框 6.6.1 創建工程項目 如果沒有出現如圖如果沒有出現如圖6-166-16所示的【所示的【 Create Create Project in New/Existing Workspace Project in New/Existing Workspace 】對話對話框框 , , 單擊單擊 Tornado Tornado 的【的【 File File 】【 New New Project. Project. 】菜單。出現【菜單。出現【 Create Project Create Project inNewinNe
58、w/Existing workspace /Existing workspace 】對話框。選擇對話框。選擇創建一個可下載的創建一個可下載的 ( (downloadable) downloadable) 應用程應用程序序 , , 如圖如圖 6-17 6-17 所示。所示。 6.6.1 創建工程項目 圖圖6-17 6-17 創建可下載的應用程序對話框創建可下載的應用程序對話框 6.6.1 創建工程項目 (2) (2) 單擊【單擊【 OK OK 】按鈕按鈕 , , 出現如圖出現如圖6-186-18所示所示的的 Tornado Tornado 應用程序向導,通過此應用程序向導,通過此向導創建向導創建
59、新的項目新的項目。 在在圖圖6-186-18的對話框的對話框中中, , 鍵入:鍵入:n 項目名稱項目名稱n 項目文件的存放路徑和目錄名項目文件的存放路徑和目錄名n 項目描述(可選項目描述(可選項)項)n 工作空間的名稱和工作空間文件的存放位置工作空間的名稱和工作空間文件的存放位置 6.6.1 創建工程項目 圖圖6-18 6-18 指定項目名稱對話框指定項目名稱對話框 6.6.1 創建工程項目 本例中本例中: :n 項目名稱為項目名稱為 ProjectlProjectl“n 項目位置為項目位置為 C:C:嵌入式系統基礎嵌入式系統基礎 Project1“Project1“n 工作空間為工作空間為
60、C:C:嵌入式系統基礎嵌入式系統基礎 Project1Workspace1.Project1Workspace1.wspwsp“6.6.1 創建工程項目 (3) (3) 單擊【單擊【 Next Next 】按鈕,出現如圖按鈕,出現如圖 6-6-19 19 所示的所示的對話框對話框 ,在這里可以設置應用在這里可以設置應用程序的工具鏈。這里從下拉列表中選擇使程序的工具鏈。這里從下拉列表中選擇使用默認的工具鏈名稱用默認的工具鏈名稱 SIMNTgnuSIMNTgnu 6.6.1 創建工程項目 圖圖6-19 6-19 指定工具鏈對話框指定工具鏈對話框 6.6.1 創建工程項目 (4) (4) 單擊【單擊【 Next Next 】按鈕,出現如圖按鈕
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國金屬粉碎機行業市場現狀供需分析及投資評估規劃分析研究報告
- 成人繼續教育線上學習模式在2025年的師資培訓與培養報告
- 2025-2030中國車窗簾行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國袋裝牛皮紙行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國藥用硫酸鋇市場產能需求規模與未來發展規劃研究報告
- 2025-2030中國花生油行業市場深度調研及發展趨勢和投資前景預測研究報告
- 大一汽車概論試題及答案
- 多維雷達圖心理測試題及答案
- 2025年虛擬現實教育產品在虛擬現實考古教育中的應用效果分析報告
- 光伏購買合同協議書樣本
- 銷售總監月工作總結
- 《緊固件 鋼制緊固件氫脆基本原理》知識培訓
- 餐飲企業財務流程解析
- 擔保責任轉移協議書(2篇)
- 供電公司新聞宣傳工作培訓
- 大學美育知到智慧樹章節測試課后答案2024年秋德州學院
- DB37T-九小場所消防安全管理要求
- 【MOOC】中國近現代史綱要-浙江大學 中國大學慕課MOOC答案
- 【MOOC】獸醫外科手術學-華中農業大學 中國大學慕課MOOC答案
- 數控機床裝調維修工(技師)職業技能鑒定理論考試題庫(含答案)
- 金蝶云星空應用開發初級認證
評論
0/150
提交評論