版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章 VxWorks與Tornado概貌 n6.1 VxWorks的產(chǎn)品概況的產(chǎn)品概況 n6.2 VxWorks的交叉開(kāi)發(fā)環(huán)境構(gòu)成的交叉開(kāi)發(fā)環(huán)境構(gòu)成n6.3 VxWorks的操作系統(tǒng)的操作系統(tǒng) n6.4 VxWorks的集成開(kāi)發(fā)工具的集成開(kāi)發(fā)工具Tornadon6.5 目標(biāo)機(jī)上的目標(biāo)機(jī)上的VxWorks Image n6.6 一個(gè)簡(jiǎn)單的工程項(xiàng)目實(shí)例一個(gè)簡(jiǎn)單的工程項(xiàng)目實(shí)例n6.7 本章小結(jié)本章小結(jié) n習(xí)題習(xí)題 6.1 VxWorks的產(chǎn)品概況 n 操作系統(tǒng)面向不同領(lǐng)域的版本操作系統(tǒng)面向不同領(lǐng)域的版本nVxWorksVxWorks基本版:提供微內(nèi)核和基本模基本版:提供微內(nèi)核和基本模塊組件塊組件(
2、 (如如I/OI/O系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)系系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)等)統(tǒng)等)nVxWorks AEVxWorks AE版:版:針對(duì)針對(duì)國(guó)防國(guó)防、航天、測(cè)量、航天、測(cè)量、控制系統(tǒng)控制系統(tǒng)推出的高推出的高可靠性可靠性產(chǎn)品產(chǎn)品nOSEKWorksOSEKWorks版:版:集成的通信機(jī)制使控制器集成的通信機(jī)制使控制器網(wǎng)網(wǎng)絡(luò)絡(luò)良好工作,適用于汽車工業(yè)良好工作,適用于汽車工業(yè)nVSPWorksVSPWorks版:版:適用于多處理器的適用于多處理器的DSPDSP系統(tǒng)系統(tǒng) 6.1 VxWorks的產(chǎn)品概況 2 2交叉交叉開(kāi)發(fā)開(kāi)發(fā)工具工具TornadoTornadon 圖形化的集成圖形化的集成交叉交叉開(kāi)發(fā)工具開(kāi)
3、發(fā)工具 包括包括n項(xiàng)目管理工具項(xiàng)目管理工具n編輯器編輯器n編譯器編譯器: :GNU&DiabGNU&Diabn下載器下載器n調(diào)試器調(diào)試器: :命令行命令行& &圖形圖形6.1 VxWorks的產(chǎn)品概況 n 對(duì)應(yīng)安裝后的目錄文件:對(duì)應(yīng)安裝后的目錄文件: Tornado2.2hostTornado2.2host 例:例:6.1 VxWorks的產(chǎn)品概況 3 3相關(guān)文檔相關(guān)文檔 位于安裝目錄下的位于安裝目錄下的Tornado2.2docsTornado2.2docs子目錄中子目錄中n VxWorksVxWorks操作系統(tǒng)方面的文檔操作系統(tǒng)方面的文檔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的產(chǎn)品概況 n NetworkNetwork方面的文檔方面的文檔 nVxWorks Networking Pro
5、grammers VxWorks Networking Programmers GuideGuide6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成n 交叉開(kāi)發(fā)環(huán)境構(gòu)成交叉開(kāi)發(fā)環(huán)境構(gòu)成n VxWorks的交叉開(kāi)發(fā)環(huán)境的交叉開(kāi)發(fā)環(huán)境6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 1.1.交叉開(kāi)發(fā)環(huán)境構(gòu)成交叉開(kāi)發(fā)環(huán)境構(gòu)成 n ( (宿宿) )主機(jī)(主機(jī)(HostHost)n 目標(biāo)機(jī)(目標(biāo)機(jī)(TargetTarget)n 主機(jī)和目標(biāo)機(jī)之間的通信機(jī)制主機(jī)和目標(biāo)機(jī)之間的通信機(jī)制 主機(jī)交叉編譯器交叉調(diào)試器目標(biāo)機(jī)Image串口或網(wǎng)口主機(jī):交叉編譯器交叉調(diào)試器目標(biāo)機(jī):Image串口或網(wǎng)口圖圖6-1 (宿)主機(jī)與目標(biāo)機(jī)(宿)主機(jī)
6、與目標(biāo)機(jī) 6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 n ( (宿宿) )主機(jī)(主機(jī)(HostHost)n 用于輔助嵌入式系統(tǒng)軟件開(kāi)發(fā)用于輔助嵌入式系統(tǒng)軟件開(kāi)發(fā)n 由通用機(jī)完成(如由通用機(jī)完成(如PCPC機(jī)或工作站)機(jī)或工作站)n Windows95 /NTWindows95 /NT或或 UNIXUNIX環(huán)境環(huán)境n 安裝集成開(kāi)發(fā)環(huán)境(安裝集成開(kāi)發(fā)環(huán)境(IDEIDE),包括),包括n交叉編譯器交叉編譯器(Cross Compiler)(Cross Compiler):在主機(jī)上編譯:在主機(jī)上編譯生成可以在目標(biāo)機(jī)上運(yùn)行的代碼生成可以在目標(biāo)機(jī)上運(yùn)行的代碼IMAGEIMAGEn交叉調(diào)試器交叉調(diào)試器(Cros
7、s Debugger)(Cross Debugger):通過(guò)主機(jī)和目:通過(guò)主機(jī)和目標(biāo)機(jī)之間的某種耦合方式實(shí)現(xiàn)前后臺(tái)調(diào)試標(biāo)機(jī)之間的某種耦合方式實(shí)現(xiàn)前后臺(tái)調(diào)試6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 n 目標(biāo)機(jī)(目標(biāo)機(jī)(TargetTarget) n 用戶自己開(kāi)發(fā)的嵌入式硬件設(shè)備用戶自己開(kāi)發(fā)的嵌入式硬件設(shè)備 n 其上運(yùn)行目標(biāo)其上運(yùn)行目標(biāo)IMAGEIMAGE6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 n主機(jī)和目標(biāo)機(jī)之間的通信主機(jī)和目標(biāo)機(jī)之間的通信采用目標(biāo)服務(wù)器(采用目標(biāo)服務(wù)器(Target ServerTarget Server)/ /目標(biāo)代理(目標(biāo)代理(Target AgentTarget Agent)
8、的方式)的方式 n目標(biāo)服務(wù)器目標(biāo)服務(wù)器:指在主機(jī)上運(yùn)行的一個(gè)服務(wù),:指在主機(jī)上運(yùn)行的一個(gè)服務(wù),它管理主機(jī)上的各開(kāi)發(fā)調(diào)試工具之間以及主機(jī)它管理主機(jī)上的各開(kāi)發(fā)調(diào)試工具之間以及主機(jī)和目標(biāo)機(jī)之間的通信聯(lián)系(每一個(gè)目標(biāo)機(jī)要求和目標(biāo)機(jī)之間的通信聯(lián)系(每一個(gè)目標(biāo)機(jī)要求對(duì)應(yīng)有一個(gè)目標(biāo)服務(wù)器)對(duì)應(yīng)有一個(gè)目標(biāo)服務(wù)器) n目標(biāo)代理目標(biāo)代理: :運(yùn)行在目標(biāo)機(jī)上,執(zhí)行目標(biāo)服務(wù)運(yùn)行在目標(biāo)機(jī)上,執(zhí)行目標(biāo)服務(wù)器送來(lái)的請(qǐng)求,然后回送執(zhí)行結(jié)果器送來(lái)的請(qǐng)求,然后回送執(zhí)行結(jié)果6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 2. VxWorks的交叉開(kāi)發(fā)環(huán)境的交叉開(kāi)發(fā)環(huán)境圖圖6-1 (宿)主機(jī)與目標(biāo)機(jī)(宿)主機(jī)與目標(biāo)機(jī) 6.2 VxWorks
9、交叉開(kāi)發(fā)環(huán)境構(gòu)成 n 主機(jī)(主機(jī)(HostHost)n 集成開(kāi)發(fā)環(huán)境為集成開(kāi)發(fā)環(huán)境為Tornado Tornado n 系統(tǒng)安裝時(shí),集成調(diào)試環(huán)境系統(tǒng)安裝時(shí),集成調(diào)試環(huán)境TornadoTornado和和VxWorksVxWorks操作系統(tǒng)的原材料安裝到主機(jī)上操作系統(tǒng)的原材料安裝到主機(jī)上 6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 n 目標(biāo)機(jī)(目標(biāo)機(jī)(TargetTarget) n 可執(zhí)行代碼可執(zhí)行代碼IMAGEIMAGE通常取名為通常取名為VxWorks VxWorks (與(與VxWorksVxWorks操作系統(tǒng)同名)操作系統(tǒng)同名) n IMAGEIMAGE由由 BSPBSP(板級(jí)支持包)、(板級(jí)
10、支持包)、VxWorksVxWorks操作操作系統(tǒng)和應(yīng)用程序三個(gè)部分組成系統(tǒng)和應(yīng)用程序三個(gè)部分組成 6.2 VxWorks交叉開(kāi)發(fā)環(huán)境構(gòu)成 n主機(jī)和目標(biāo)機(jī)之間的通信主機(jī)和目標(biāo)機(jī)之間的通信 Target Server-AgentTarget Server-Agent的方式的方式n主機(jī)上主機(jī)上TornadoTornado的各調(diào)試工具通過(guò)的各調(diào)試工具通過(guò)VxWorksVxWorks自定義的通信協(xié)議自定義的通信協(xié)議WTXWTX與目標(biāo)服與目標(biāo)服務(wù)器通信務(wù)器通信n目標(biāo)服務(wù)器與運(yùn)行在目標(biāo)機(jī)上的目標(biāo)代目標(biāo)服務(wù)器與運(yùn)行在目標(biāo)機(jī)上的目標(biāo)代理理WDB AgentWDB Agent通過(guò)通過(guò) WDBWDB 協(xié)議交換信息
11、協(xié)議交換信息 nWDB AgentWDB Agent可運(yùn)行在系統(tǒng)級(jí)和任務(wù)級(jí)兩種可運(yùn)行在系統(tǒng)級(jí)和任務(wù)級(jí)兩種模式下模式下6.3 VxWorks的操作系統(tǒng) n VxWorks VxWorks操作系統(tǒng)的體系結(jié)構(gòu)操作系統(tǒng)的體系結(jié)構(gòu) n VxWorksVxWorks的內(nèi)核的內(nèi)核 n VxWorksVxWorks的外掛基本模塊組件的外掛基本模塊組件 n VxWorksVxWorks的外掛附加模塊組的外掛附加模塊組 6.6.1 VxWorks操作系統(tǒng)體系結(jié)構(gòu) n 模塊化組件模塊化組件體系結(jié)構(gòu)體系結(jié)構(gòu) ( (見(jiàn)下圖見(jiàn)下圖) ) n 由內(nèi)核和各種外掛模塊組件構(gòu)成由內(nèi)核和各種外掛模塊組件構(gòu)成n 外掛基本模塊組件包括
12、外掛基本模塊組件包括I/OI/O系統(tǒng)、文件系系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、加載調(diào)試等開(kāi)發(fā)工具組件、統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、加載調(diào)試等開(kāi)發(fā)工具組件、POSIXPOSIX接口等兼容性組件、圖形界面組件等接口等兼容性組件、圖形界面組件等n 外掛模塊又可分為外掛基本模塊組件和外外掛模塊又可分為外掛基本模塊組件和外掛附加模塊組件兩種類型掛附加模塊組件兩種類型6.6.1 VxWorks操作系統(tǒng)體系結(jié)構(gòu) 圖圖6-3 VxWorks操作系統(tǒng)體系結(jié)構(gòu)操作系統(tǒng)體系結(jié)構(gòu) 6.6.1 VxWorks操作系統(tǒng)體系結(jié)構(gòu) n 具有可裁剪性具有可裁剪性 n VxWorks VxWorks庫(kù)由庫(kù)由400400多個(gè)相對(duì)獨(dú)立的、短小的多個(gè)相對(duì)獨(dú)
13、立的、短小的目標(biāo)模塊目標(biāo)模塊組件組件組成組成n 裁減的粒度較小,不會(huì)造成裁減的粒度較小,不會(huì)造成一個(gè)小功能的一個(gè)小功能的需求需求導(dǎo)致導(dǎo)致引入一個(gè)大的組件模塊引入一個(gè)大的組件模塊 6.6.2 VxWorks的內(nèi)核 VxWorksVxWorks操作系統(tǒng)的內(nèi)核操作系統(tǒng)的內(nèi)核WindWind操作系統(tǒng)的核心操作系統(tǒng)的核心n 功能功能n任務(wù)的創(chuàng)建與管理、搶占式任務(wù)的創(chuàng)建與管理、搶占式任務(wù)調(diào)度、任務(wù)任務(wù)調(diào)度、任務(wù)間通信間通信機(jī)制機(jī)制、任務(wù)的同步與互斥、任務(wù)的同步與互斥、定時(shí)器和定時(shí)器和中斷處理、內(nèi)存管理、中斷處理、內(nèi)存管理、出錯(cuò)處理出錯(cuò)處理等等n此外此外提供符合實(shí)時(shí)系統(tǒng)標(biāo)準(zhǔn)提供符合實(shí)時(shí)系統(tǒng)標(biāo)準(zhǔn)1006.1b
14、1006.1b的的POSIX POSIX 接口,以提高應(yīng)用程序代碼可移植性接口,以提高應(yīng)用程序代碼可移植性 6.6.2 VxWorks的內(nèi)核 n特點(diǎn)特點(diǎn)n采用微內(nèi)核結(jié)構(gòu)采用微內(nèi)核結(jié)構(gòu)n只關(guān)心只關(guān)心CPUCPU,對(duì)外設(shè)不做假設(shè),對(duì)外設(shè)不做假設(shè)n如不關(guān)心總線類型、內(nèi)存大小和如不關(guān)心總線類型、內(nèi)存大小和I/OI/O設(shè)備等設(shè)備等n基本硬件基本硬件是由是由BSPBSP板級(jí)支持包驅(qū)板級(jí)支持包驅(qū)動(dòng)動(dòng)n客戶定制硬件可由應(yīng)用程序驅(qū)動(dòng)客戶定制硬件可由應(yīng)用程序驅(qū)動(dòng) 6.3.3 VxWorks的外掛基本模塊組件 VxWorksVxWorks提供的外掛基本模塊組件包括提供的外掛基本模塊組件包括n I/OI/O系統(tǒng)系統(tǒng)n
15、 文件系統(tǒng)文件系統(tǒng)n 網(wǎng)絡(luò)系統(tǒng)網(wǎng)絡(luò)系統(tǒng) n 加載調(diào)試等開(kāi)發(fā)工具組件加載調(diào)試等開(kāi)發(fā)工具組件n POSIXPOSIX接口等兼容性組件等接口等兼容性組件等6.3.3 VxWorks的外掛基本模塊組件 n I/O I/O系統(tǒng)系統(tǒng) 提供與設(shè)備提供與設(shè)備無(wú)關(guān)無(wú)關(guān)的的統(tǒng)一訪問(wèn)統(tǒng)一訪問(wèn)接口接口n 管理的設(shè)備管理的設(shè)備字符設(shè)備、塊設(shè)備、虛擬設(shè)備字符設(shè)備、塊設(shè)備、虛擬設(shè)備 ( (管道、管道、 Socket)Socket)、控制和控制和監(jiān)控設(shè)備、網(wǎng)絡(luò)設(shè)備等監(jiān)控設(shè)備、網(wǎng)絡(luò)設(shè)備等 n 接口種類接口種類n 與與UnixUnix標(biāo)準(zhǔn)兼容的基本標(biāo)準(zhǔn)兼容的基本I/OI/O系統(tǒng)系統(tǒng), ,如如read() read() n 與與A
16、NSI CANSI C兼容的帶緩存兼容的帶緩存I/OI/O系統(tǒng)系統(tǒng), ,如如freadfread()()n 格式化格式化I/OI/O系統(tǒng)系統(tǒng), ,如如printf()printf()、sprintfsprintf()()n POSIX POSIX接口的異步接口的異步I/OI/O系統(tǒng)系統(tǒng)6.3.3 VxWorks的外掛基本模塊組件 n 文件系統(tǒng)文件系統(tǒng) 提供多種文件系統(tǒng)提供多種文件系統(tǒng), ,適用于不同環(huán)境適用于不同環(huán)境 n dosFsdosFs: : 針對(duì)塊設(shè)備提供針對(duì)塊設(shè)備提供, ,兼容兼容MS-DOSMS-DOS,通常,通常作為目標(biāo)機(jī)的文件系統(tǒng)作為目標(biāo)機(jī)的文件系統(tǒng)n rawFsrawFs:
17、:將整個(gè)硬盤視為單個(gè)文件來(lái)操縱將整個(gè)硬盤視為單個(gè)文件來(lái)操縱n tapeFstapeFs: : 針對(duì)磁帶設(shè)備提供針對(duì)磁帶設(shè)備提供n cdromFscdromFs: : 針對(duì)針對(duì)CD-ROM CD-ROM 設(shè)備提供設(shè)備提供n TSFSTSFS: :主機(jī)文件系統(tǒng)在目標(biāo)機(jī)中的映射,主機(jī)文件系統(tǒng)在目標(biāo)機(jī)中的映射,串口串口調(diào)試時(shí)常使用調(diào)試時(shí)常使用(自定義文件系統(tǒng))(自定義文件系統(tǒng)) 6.3.3 VxWorks的外掛基本模塊組件 n 網(wǎng)絡(luò)系統(tǒng)網(wǎng)絡(luò)系統(tǒng) 提供提供 ( (見(jiàn)下圖見(jiàn)下圖) )n 兼容兼容BSDBSD的的SocketSocket接口接口 僅在實(shí)時(shí)性上進(jìn)行了較大的修改,如用僅在實(shí)時(shí)性上進(jìn)行了較大的修改
18、,如用信號(hào)量信號(hào)量 代替原代替原TCP/IPTCP/IP實(shí)現(xiàn)中的實(shí)現(xiàn)中的 Interrupt Lock Interrupt Lock 和修改原和修改原SocketSocket代碼代碼中無(wú)中無(wú)TimeoutTimeout的部分等的部分等 n 多種網(wǎng)絡(luò)協(xié)議多種網(wǎng)絡(luò)協(xié)議 包括包括ICMPICMP、IGMPIGMP、IPIP、UDPUDP、TCPTCP、OSPFOSPF和和RIPRIP等等 n 多種網(wǎng)絡(luò)服務(wù)多種網(wǎng)絡(luò)服務(wù) 包括包括FTPFTP、TelnetTelnet、HTTP HTTP 和和 DNS DNS 等等6.3.3 VxWorks的外掛基本模塊組件 圖圖6-4 VxWorks網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)網(wǎng)絡(luò)系
19、統(tǒng)結(jié)構(gòu) 6.3.3 VxWorks的外掛基本模塊組件 n 加載調(diào)試等開(kāi)發(fā)工具組件加載調(diào)試等開(kāi)發(fā)工具組件 包括運(yùn)行在目標(biāo)機(jī)上的包括運(yùn)行在目標(biāo)機(jī)上的 n 動(dòng)態(tài)加載器動(dòng)態(tài)加載器Loader Loader n 目標(biāo)機(jī)調(diào)試代理目標(biāo)機(jī)調(diào)試代理 WDB Agent WDB Agent n Target Shell Target Shell n Symbol Table Symbol Table等等6.3.3 VxWorks的外掛基本模塊組件 n 兼容性組件兼容性組件 包括包括n POSIXPOSIX標(biāo)準(zhǔn)接口組件標(biāo)準(zhǔn)接口組件提供實(shí)時(shí)系統(tǒng)的內(nèi)核、提供實(shí)時(shí)系統(tǒng)的內(nèi)核、I/OI/O系統(tǒng)等擴(kuò)展系統(tǒng)等擴(kuò)展(1006.1
20、b1006.1b)的)的POSIXPOSIX標(biāo)準(zhǔn)接口標(biāo)準(zhǔn)接口 n ANSI CANSI C組件組件提供可一套可重入的提供可一套可重入的ANSI CANSI C庫(kù)函數(shù)庫(kù)函數(shù) n C C組件組件提供對(duì)提供對(duì)C C語(yǔ)言的支持語(yǔ)言的支持 6.6.4 VxWorks的外掛附加模塊組件 n 內(nèi)核方面內(nèi)核方面 提供提供n VxMPVxMP組件:支持多組件:支持多CPUCPU間的共享內(nèi)存間的共享內(nèi)存通訊方式通訊方式n VxFusionVxFusion組件:支持分布式應(yīng)用中的組件:支持分布式應(yīng)用中的消息隊(duì)列消息隊(duì)列n VxVMIVxVMI組件:虛擬內(nèi)存接口組件:虛擬內(nèi)存接口6.6.4 VxWorks的外掛附加模
21、塊組件 n I/O I/O系統(tǒng)方面系統(tǒng)方面 提供提供n 各種嵌入式處理器的各種嵌入式處理器的BSPBSP模板模板n DriverDriver:包括:包括RAM RAM 、IDEIDE和軟盤和軟盤 、鍵盤、鍵盤 、顯示器顯示器 、串口、并口、串口、并口 、網(wǎng)絡(luò)、網(wǎng)絡(luò) n BSPBSP開(kāi)發(fā)包開(kāi)發(fā)包n USBUSB開(kāi)發(fā)包開(kāi)發(fā)包n Wind Net802.1xWind Net802.1x無(wú)線局域網(wǎng)設(shè)備驅(qū)動(dòng)程序無(wú)線局域網(wǎng)設(shè)備驅(qū)動(dòng)程序等等 6.6.4 VxWorks的外掛附加模塊組件 n 文件系統(tǒng)方面文件系統(tǒng)方面 提供提供TrueFFSTrueFFS(FlashFlash文件系統(tǒng))文件系統(tǒng))n 網(wǎng)絡(luò)系統(tǒng)方
22、面網(wǎng)絡(luò)系統(tǒng)方面 提供提供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 :圖形用戶界面的媒體庫(kù):圖形用戶界面的媒體庫(kù) n Zinc Zinc :主機(jī)上用于創(chuàng)建目標(biāo)機(jī)圖:主機(jī)上用于創(chuàng)建目標(biāo)機(jī)圖形界面的軟件,產(chǎn)生的代碼需要在形界面的軟件,產(chǎn)生的代碼需要在WindMLWindML的支持下運(yùn)行的支持下運(yùn)行6.4 VxWorks的集成開(kāi)發(fā)工具Tornado n Tornado Tornado的基本結(jié)構(gòu)的基本結(jié)構(gòu) n TornadoTornado的功能特點(diǎn)的功能特點(diǎn) n TornadoTornado的工具集的工具集6.4.1 Tornado的基本結(jié)構(gòu) 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的軟總線結(jié)構(gòu)的軟總線結(jié)構(gòu) 軟總線的層次結(jié)構(gòu)軟總線的層次結(jié)構(gòu):6.4.2 Tornado的功能特點(diǎn) n TornadoTornado的功能的功能 將與操作系統(tǒng)和應(yīng)用程序運(yùn)行無(wú)關(guān)的工作將與操作系統(tǒng)和應(yīng)用程序運(yùn)行無(wú)關(guān)的工作(如編輯
25、、編譯、調(diào)試、配置等)與目標(biāo)(如編輯、編譯、調(diào)試、配置等)與目標(biāo)機(jī)分離機(jī)分離n一方面使這些工作不會(huì)與操作系統(tǒng)掙搶目一方面使這些工作不會(huì)與操作系統(tǒng)掙搶目標(biāo)機(jī)上有限的資源標(biāo)機(jī)上有限的資源n另一方面將它們集成在一個(gè)開(kāi)發(fā)環(huán)境中以另一方面將它們集成在一個(gè)開(kāi)發(fā)環(huán)境中以方便系統(tǒng)系統(tǒng)的開(kāi)發(fā)和調(diào)試工作方便系統(tǒng)系統(tǒng)的開(kāi)發(fā)和調(diào)試工作 6.4.2 Tornado的功能特點(diǎn) n TornadoTornado的特點(diǎn)的特點(diǎn)n 集成性集成性集成了編輯、編譯、調(diào)試、仿真測(cè)試、項(xiàng)集成了編輯、編譯、調(diào)試、仿真測(cè)試、項(xiàng)目管理等方面的一系列工具目管理等方面的一系列工具 n 開(kāi)放性開(kāi)放性作為一開(kāi)放環(huán)境,作為一開(kāi)放環(huán)境,TornadoTo
26、rnado與目標(biāo)機(jī)的連接與目標(biāo)機(jī)的連接通過(guò)統(tǒng)一接口進(jìn)行,接口提供豐富的通過(guò)統(tǒng)一接口進(jìn)行,接口提供豐富的APIAPI,用戶可方便的定制和擴(kuò)展各開(kāi)發(fā)工具用戶可方便的定制和擴(kuò)展各開(kāi)發(fā)工具 6.4.3 Tornado的工具集 針對(duì)各個(gè)階段進(jìn)行了需求分析,推出了一針對(duì)各個(gè)階段進(jìn)行了需求分析,推出了一系列的工具:系列的工具:n 工程項(xiàng)目管理工具:工程項(xiàng)目管理工具:Project Facility Project Facility n 編輯器:編輯器:Editor Editor n 編譯器:編譯器:Compiler Compiler n 加載調(diào)試器:加載調(diào)試器: Launcher Launcher 、Inc
27、rement Loader Increment Loader 、WindShWindSh 、 CrossWindCrossWind 、BrowserBrowser、WindViewWindView n 仿真器仿真器 :VxSimVxSim 等等6.4.3 Tornado的工具集 n Project FacilityProject FacilityTornadoTornado的工程配置工具的工程配置工具 n提供圖形化環(huán)境下的工程文件管理、對(duì)提供圖形化環(huán)境下的工程文件管理、對(duì)VxWorksVxWorks操作系統(tǒng)及其組件的配置、編譯環(huán)操作系統(tǒng)及其組件的配置、編譯環(huán)境的設(shè)置、境的設(shè)置、Makefile
28、Makefile自動(dòng)生成等功能自動(dòng)生成等功能 n支持與通用配置管理工具(如支持與通用配置管理工具(如ClearCaseClearCase)的集成的集成 6.4.3 Tornado的工具集 n Editor Editor TornadoTornado的源代碼編輯器的源代碼編輯器n提供基本的代碼文字編輯功能提供基本的代碼文字編輯功能 n支持支持C C和和C+C+語(yǔ)法格式的高亮顯示語(yǔ)法格式的高亮顯示 n與與TornadoTornado的編譯器進(jìn)行了集成的編譯器進(jìn)行了集成Project FacilityProject Facility可根據(jù)編譯器給出的錯(cuò)誤或可根據(jù)編譯器給出的錯(cuò)誤或警告信息直接定位到警
29、告信息直接定位到EditorEditor窗口相應(yīng)源代碼處窗口相應(yīng)源代碼處 n與與TornadoTornado的調(diào)試器也進(jìn)行了集成的調(diào)試器也進(jìn)行了集成EditorEditor窗口能跟蹤代碼的執(zhí)行,實(shí)現(xiàn)源代碼級(jí)窗口能跟蹤代碼的執(zhí)行,實(shí)現(xiàn)源代碼級(jí)的調(diào)試的調(diào)試6.4.3 Tornado的工具集 n不足之處不足之處n 不支持中文不支持中文n 不具備對(duì)代碼間各函數(shù)調(diào)用關(guān)系等的分析及不具備對(duì)代碼間各函數(shù)調(diào)用關(guān)系等的分析及直接跳轉(zhuǎn)定位能力直接跳轉(zhuǎn)定位能力 6.4.3 Tornado的工具集 n Compiler Compiler 編譯器編譯器 n提供支持提供支持C C和和C C語(yǔ)言的語(yǔ)言的GNUGNU和和Di
30、abDiab交叉編交叉編譯器以及一些標(biāo)準(zhǔn)庫(kù)譯器以及一些標(biāo)準(zhǔn)庫(kù) 6.4.3 Tornado的工具集 n Launcher Launcher 主機(jī)與目標(biāo)機(jī)連接的配置器和啟動(dòng)器主機(jī)與目標(biāo)機(jī)連接的配置器和啟動(dòng)器 n可連接多個(gè)目標(biāo)機(jī)同時(shí)調(diào)試可連接多個(gè)目標(biāo)機(jī)同時(shí)調(diào)試 6.4.3 Tornado的工具集 n Increment Loader Increment Loader TornadoTornado的增量加載器的增量加載器 n使開(kāi)發(fā)者能夠動(dòng)態(tài)地加載新增模塊到目標(biāo)使開(kāi)發(fā)者能夠動(dòng)態(tài)地加載新增模塊到目標(biāo)機(jī)上并與目標(biāo)機(jī)上已存在的機(jī)上并與目標(biāo)機(jī)上已存在的VxWorks ImageVxWorks Image實(shí)現(xiàn)動(dòng)態(tài)
31、鏈接實(shí)現(xiàn)動(dòng)態(tài)鏈接 6.4.3 Tornado的工具集 n WindShWindSh TornadoTornado的的Command ShellCommand Shell(命令行執(zhí)行(命令行執(zhí)行工具工具 n可執(zhí)行大部分可執(zhí)行大部分C C語(yǔ)言表達(dá)式及語(yǔ)言表達(dá)式及TCLTCL(Tools Tools Command LanguageCommand Language)語(yǔ)言)語(yǔ)言 n可執(zhí)行已加載到目標(biāo)機(jī)的模塊中包含的任可執(zhí)行已加載到目標(biāo)機(jī)的模塊中包含的任何函數(shù),包括系統(tǒng)調(diào)用何函數(shù),包括系統(tǒng)調(diào)用 n此外此外提供簡(jiǎn)單的代碼調(diào)試命令提供簡(jiǎn)單的代碼調(diào)試命令 6.4.3 Tornado的工具集 n CrossWi
32、ndCrossWind TornadoTornado的圖形化的交叉調(diào)試器的圖形化的交叉調(diào)試器 n支持源代碼級(jí)調(diào)試支持源代碼級(jí)調(diào)試 n支持混合代碼和匯編代碼顯示支持混合代碼和匯編代碼顯示 n支持多目標(biāo)機(jī)同時(shí)調(diào)試支持多目標(biāo)機(jī)同時(shí)調(diào)試n提供系統(tǒng)級(jí)和任務(wù)級(jí)兩種調(diào)試模式提供系統(tǒng)級(jí)和任務(wù)級(jí)兩種調(diào)試模式 6.4.3 Tornado的工具集 n Browser Browser TornadoTornado的系統(tǒng)對(duì)象的瀏覽器的系統(tǒng)對(duì)象的瀏覽器 n可觀察目標(biāo)機(jī)上的任務(wù)、隊(duì)列、信號(hào)量、可觀察目標(biāo)機(jī)上的任務(wù)、隊(duì)列、信號(hào)量、模塊、變量、模塊、變量、堆棧堆棧、任務(wù)的、任務(wù)的CPUCPU占用率占用率的狀的狀態(tài)信息態(tài)信息 6
33、.4.3 Tornado的工具集 n WindViewWindView TornadoTornado的軟件邏輯分析工具的軟件邏輯分析工具n提供提供圖形化的動(dòng)態(tài)跟蹤分析圖形化的動(dòng)態(tài)跟蹤分析功能功能 n可監(jiān)視任務(wù)的切換狀況、每個(gè)任務(wù)狀態(tài)的可監(jiān)視任務(wù)的切換狀況、每個(gè)任務(wù)狀態(tài)的變化、中斷的發(fā)生、系統(tǒng)事件的發(fā)生(信變化、中斷的發(fā)生、系統(tǒng)事件的發(fā)生(信號(hào)號(hào)量、量、消息隊(duì)列、定時(shí)器)及用戶自己定消息隊(duì)列、定時(shí)器)及用戶自己定義的事件,還可以檢查系統(tǒng)崩潰義的事件,還可以檢查系統(tǒng)崩潰 6.4.3 Tornado的工具集 n VxSim VxSim TornadoTornado的目標(biāo)機(jī)仿真器的目標(biāo)機(jī)仿真器 n運(yùn)行
34、在主機(jī)上,運(yùn)行在主機(jī)上,在沒(méi)有目標(biāo)機(jī)的情況下可在沒(méi)有目標(biāo)機(jī)的情況下可以以提供和真實(shí)目標(biāo)機(jī)一致的調(diào)試和仿真運(yùn)提供和真實(shí)目標(biāo)機(jī)一致的調(diào)試和仿真運(yùn)行環(huán)境以行環(huán)境以進(jìn)行程序的調(diào)試進(jìn)行程序的調(diào)試 nVxSimVxSim的單用戶版本的單用戶版本的仿真器集成在的仿真器集成在Tornado Tornado 開(kāi)發(fā)環(huán)境中開(kāi)發(fā)環(huán)境中,它只提供,它只提供基本的操基本的操作系統(tǒng)功能作系統(tǒng)功能,不,不具有具有網(wǎng)絡(luò)功能網(wǎng)絡(luò)功能n完整的完整的VxSimVxSim是作為是作為TornadoTornado的附件產(chǎn)品出的附件產(chǎn)品出售,支持多用戶和網(wǎng)絡(luò)功能等售,支持多用戶和網(wǎng)絡(luò)功能等 6.5 目標(biāo)機(jī)上的VxWorks Image n
35、 目標(biāo)機(jī)上的可執(zhí)行代碼目標(biāo)機(jī)上的可執(zhí)行代碼ImageImage通常取名為通常取名為VxWorksVxWorks(與(與VxWorksVxWorks嵌入式實(shí)時(shí)操作系統(tǒng)同名)嵌入式實(shí)時(shí)操作系統(tǒng)同名)n VxWorks ImageVxWorks Image在主機(jī)上的在主機(jī)上的TornadoTornado集成開(kāi)發(fā)集成開(kāi)發(fā)環(huán)境中編譯生成,通過(guò)某種方式加載到目標(biāo)機(jī)環(huán)境中編譯生成,通過(guò)某種方式加載到目標(biāo)機(jī)的內(nèi)存中運(yùn)行的內(nèi)存中運(yùn)行n TornadoTornado可以為可以為VxWorksVxWorks和應(yīng)用程序代碼生成和應(yīng)用程序代碼生成多種類型的多種類型的ImageImage,以靈活的適應(yīng)多種不同的,以靈活的
36、適應(yīng)多種不同的目標(biāo)機(jī)開(kāi)發(fā)運(yùn)行環(huán)境目標(biāo)機(jī)開(kāi)發(fā)運(yùn)行環(huán)境 6.5.1 VxWorks Image的種類與結(jié)構(gòu) VxWorks ImageVxWorks Image包括兩大類型包括兩大類型 :n Bootable ImageBootable Imagen Downloadable Image Downloadable Image6.5.1 VxWorks Image的種類與結(jié)構(gòu) 1 1Bootable Image Bootable Image n Bootable Image Bootable Image 的功能的功能 自啟動(dòng)執(zhí)行的自啟動(dòng)執(zhí)行的ImageImage文件文件6.5.1 VxWorks I
37、mage的種類與結(jié)構(gòu) n Bootable ImageBootable Image的結(jié)構(gòu)的結(jié)構(gòu)圖圖6-6 Bootable Image基本結(jié)構(gòu)基本結(jié)構(gòu) 6.5.1 VxWorks Image的種類與結(jié)構(gòu) n (1) BSP(1) BSP由初始化和基本驅(qū)動(dòng)程序兩部分功能組成由初始化和基本驅(qū)動(dòng)程序兩部分功能組成n 初始化初始化n初始化是指從系統(tǒng)上電復(fù)位開(kāi)始直到初始化是指從系統(tǒng)上電復(fù)位開(kāi)始直到WindWind內(nèi)核和內(nèi)核和UsrRootUsrRoot根任務(wù)啟動(dòng)的這段時(shí)間,系根任務(wù)啟動(dòng)的這段時(shí)間,系統(tǒng)的執(zhí)行過(guò)程統(tǒng)的執(zhí)行過(guò)程 n初始化過(guò)程包括:(見(jiàn)下圖)初始化過(guò)程包括:(見(jiàn)下圖)6.5.1 VxWorks
38、 Image的種類與結(jié)構(gòu) 圖圖6-7 BSP的初始化過(guò)程的初始化過(guò)程 CPU InitCPU Init:初始化:初始化CPUCPU的內(nèi)部寄存器的內(nèi)部寄存器 Board InitBoard Init:初始化:初始化I/OI/O的寄存器,將的寄存器,將I/O deviceI/O device驅(qū)動(dòng)驅(qū)動(dòng) System InitSystem Init:為系統(tǒng)的運(yùn)行準(zhǔn)備數(shù)據(jù)結(jié)構(gòu),進(jìn)行數(shù)據(jù)初始化:為系統(tǒng)的運(yùn)行準(zhǔn)備數(shù)據(jù)結(jié)構(gòu),進(jìn)行數(shù)據(jù)初始化6.5.1 VxWorks Image的種類與結(jié)構(gòu) n基本驅(qū)動(dòng)程序基本驅(qū)動(dòng)程序 n功能:完成最小功能:完成最小I/OI/O設(shè)備的讀寫訪問(wèn)操作設(shè)備的讀寫訪問(wèn)操作 n特點(diǎn):不能自
39、動(dòng)執(zhí)行,只能被動(dòng)調(diào)用特點(diǎn):不能自動(dòng)執(zhí)行,只能被動(dòng)調(diào)用調(diào)用有三種方式:調(diào)用有三種方式: (見(jiàn)圖(見(jiàn)圖6-86-8)n任務(wù)直接調(diào)用任務(wù)直接調(diào)用n任務(wù)調(diào)用任務(wù)調(diào)用System CallSystem Calln任務(wù)調(diào)用組件提供的服務(wù)任務(wù)調(diào)用組件提供的服務(wù) 對(duì)應(yīng)驅(qū)動(dòng)程序三種抽象層次(見(jiàn)圖對(duì)應(yīng)驅(qū)動(dòng)程序三種抽象層次(見(jiàn)圖6-9) 圖圖6-8 驅(qū)動(dòng)程序的調(diào)用方式驅(qū)動(dòng)程序的調(diào)用方式 圖圖6-9 驅(qū)動(dòng)程序的三個(gè)層次驅(qū)動(dòng)程序的三個(gè)層次 6.5.1 VxWorks Image的種類與結(jié)構(gòu) n常規(guī)操作常規(guī)操作設(shè)備的固有操作邏輯,包括設(shè)備的固有操作邏輯,包括I/O編址和編址和CPU操作操作Device的各寄存器兩個(gè)方面的
40、內(nèi)容的各寄存器兩個(gè)方面的內(nèi)容n優(yōu)點(diǎn):優(yōu)點(diǎn):不需通過(guò)操作系統(tǒng)而直接訪問(wèn)設(shè)備不需通過(guò)操作系統(tǒng)而直接訪問(wèn)設(shè)備 ,效率高效率高 n缺點(diǎn):可移植性差缺點(diǎn):可移植性差 n適用場(chǎng)合適用場(chǎng)合:簡(jiǎn)單的嵌入式系統(tǒng)簡(jiǎn)單的嵌入式系統(tǒng) n驅(qū)動(dòng)程序與驅(qū)動(dòng)程序與VxWorks內(nèi)核和擴(kuò)展內(nèi)核和擴(kuò)展的的Component接口接口包括包括I/O管理、操作類型規(guī)整和參數(shù)規(guī)整三個(gè)方面管理、操作類型規(guī)整和參數(shù)規(guī)整三個(gè)方面n優(yōu)點(diǎn):具有較好的層次性和抽象性優(yōu)點(diǎn):具有較好的層次性和抽象性 ,可移植性好,可移植性好 n缺點(diǎn):通過(guò)操作系統(tǒng)管理設(shè)備,增加了系統(tǒng)開(kāi)銷缺點(diǎn):通過(guò)操作系統(tǒng)管理設(shè)備,增加了系統(tǒng)開(kāi)銷 n適用場(chǎng)合:復(fù)雜的嵌入式系統(tǒng)適用場(chǎng)合:復(fù)
41、雜的嵌入式系統(tǒng) 6.5.1 VxWorks Image的種類與結(jié)構(gòu) n (2) (2) VxWorksVxWorks n 中間層中間層n 為用戶定制的為用戶定制的VxWorksVxWorks操作系統(tǒng)操作系統(tǒng)( (內(nèi)核和各外內(nèi)核和各外掛功能模塊組件掛功能模塊組件) )n (3) (3) APPAPP n 上層上層n 為用戶編寫的應(yīng)用程序(為用戶編寫的應(yīng)用程序(APPAPP) 6.5.1 VxWorks Image的種類與結(jié)構(gòu) n Bootable ImageBootable Image的種類的種類n ROM ImageROM Image直接燒寫至直接燒寫至ROMROM類存儲(chǔ)器中,加電后自行啟動(dòng)運(yùn)
42、行類存儲(chǔ)器中,加電后自行啟動(dòng)運(yùn)行 例:例:BootROMBootROM(即(即BootLoaderBootLoader或或BootImageBootImage)根據(jù)加載方式不同(見(jiàn)后),可進(jìn)一步分類為:根據(jù)加載方式不同(見(jiàn)后),可進(jìn)一步分類為: n ROM-based Image ROM-based Image n ROM-resident Image ROM-resident Image n RAM Image RAM Image通過(guò)網(wǎng)口或串行口由通過(guò)網(wǎng)口或串行口由BootROMBootROM加載到內(nèi)存中運(yùn)行加載到內(nèi)存中運(yùn)行 6.5.1 VxWorks Image的種類與結(jié)構(gòu) 2 2Down
43、loadable Image Downloadable Image n 功能功能 動(dòng)態(tài)加載的程序映象動(dòng)態(tài)加載的程序映象通過(guò)網(wǎng)口或串行口加載到目標(biāo)機(jī)上與目標(biāo)機(jī)通過(guò)網(wǎng)口或串行口加載到目標(biāo)機(jī)上與目標(biāo)機(jī)中已存在的中已存在的Bootable ImageBootable Image動(dòng)態(tài)鏈接后運(yùn)行動(dòng)態(tài)鏈接后運(yùn)行 n 結(jié)構(gòu)結(jié)構(gòu)只包含用戶應(yīng)用程序(只包含用戶應(yīng)用程序(APPAPP)部分)部分6.5.2 VxWorks Image在內(nèi)存中的存放與加載 1 1VxWorks ImageVxWorks Image在內(nèi)存中的存放在內(nèi)存中的存放 靜態(tài)分配的靜態(tài)分配的IMAGEIMAGE占用空間占用空間(.(.textte
44、xt、.data.data、.bss.bss) )系統(tǒng)的動(dòng)態(tài)空間系統(tǒng)的動(dòng)態(tài)空間(Wind kernelWind kernel創(chuàng)建的創(chuàng)建的REGION#0REGION#0)用戶的動(dòng)態(tài)空間用戶的動(dòng)態(tài)空間6.5.2 VxWorks Image在內(nèi)存中的存放與加載 2 2VxWorks ImageVxWorks Image加載到內(nèi)存的方式加載到內(nèi)存的方式 靜態(tài)鏈接與加載靜態(tài)鏈接與加載( (Bootable Image)Bootable Image) 動(dòng)態(tài)鏈接與加載動(dòng)態(tài)鏈接與加載( (Downloadable Image)Downloadable Image)6.5.2 VxWorks Image在內(nèi)存
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在內(nèi)存中的存放與加載 ROM-resident Image ROM-resident Image的加載的加載 加載過(guò)程:加載過(guò)程:(見(jiàn)下圖)
46、見(jiàn)下圖)n BSPBSP初始化時(shí)將初始化時(shí)將ROM-resident ImageROM-resident Image中的中的DataData段和段和BSSBSS段復(fù)制到段復(fù)制到RAMRAM中中n codecode(即(即TextText段)在段)在ROMROM中運(yùn)行中運(yùn)行6.5.2 VxWorks Image在內(nèi)存中的存放與加載 圖圖6-11 ROM-resident Image的加載的加載 6.5.2 VxWorks Image在內(nèi)存中的存放與加載 ROM-based Image ROM-based Image的加載的加載 加載過(guò)程:加載過(guò)程:(見(jiàn)下圖)見(jiàn)下圖)BSPBSP初始化時(shí)將初始化時(shí)
47、將ROM-based ImageROM-based Image(分(分壓縮和非壓縮兩種類型)從壓縮和非壓縮兩種類型)從ROM/FlashROM/Flash完全搬到完全搬到RAMRAM中執(zhí)行,包括中執(zhí)行,包括ImageImage中的中的TextText段和段和DataData段、段、BSSBSS段段 6.5.2 VxWorks Image在內(nèi)存中的存放與加載 圖圖6-12 ROM-based Imag的加載的加載 6.5.2 VxWorks Image在內(nèi)存中的存放與加載 RAM Image RAM Image的加載的加載 加載過(guò)程:加載過(guò)程:n 目標(biāo)機(jī)上電后,由引導(dǎo)代碼將目標(biāo)機(jī)上電后,由引導(dǎo)代
48、碼將BootROMBootROM搬搬到到RAMRAM中,中,BootROMBootROM初始化調(diào)試下載通道和調(diào)初始化調(diào)試下載通道和調(diào)試信息輸出通道試信息輸出通道n 在目標(biāo)機(jī)上的在目標(biāo)機(jī)上的BootROMBootROM(此時(shí)充當(dāng)(此時(shí)充當(dāng)FTP FTP ClientClient)和主機(jī)上的)和主機(jī)上的FTP ServerFTP Server作用下,被作用下,被調(diào)試的主機(jī)上的調(diào)試的主機(jī)上的Downloadable ImageDownloadable Image通過(guò)通過(guò)FTPFTP協(xié)議下載(協(xié)議下載(downloaddownload)到)到TargetTarget的的RAMRAM中,中,然后接受控制
49、權(quán),實(shí)現(xiàn)調(diào)試然后接受控制權(quán),實(shí)現(xiàn)調(diào)試 6.5.2 VxWorks Image在內(nèi)存中的存放與加載 (2) Downloadable Image(2) Downloadable Image的加載的加載 加載過(guò)程:加載過(guò)程: (見(jiàn)下圖)(見(jiàn)下圖)n 目標(biāo)機(jī)上電后,目標(biāo)機(jī)上電后,BootROMBootROM(或者是(或者是Bootable ImageBootable Image)自舉到)自舉到RAMRAM中,中,BootROMBootROM(或者是(或者是Bootable ImageBootable Image)初始化調(diào)試下載)初始化調(diào)試下載通道和調(diào)試信息輸出通道通道和調(diào)試信息輸出通道 6.5.2
50、VxWorks Image在內(nèi)存中的存放與加載 n 在目標(biāo)機(jī)上在目標(biāo)機(jī)上BootROMBootROM(或者是(或者是Bootable Bootable ImageImage)的動(dòng)態(tài)加載器的作用下,被調(diào)試的)的動(dòng)態(tài)加載器的作用下,被調(diào)試的主機(jī)上的主機(jī)上的Downloadable ImageDownloadable Image通過(guò)通過(guò)HostHost與與TargetTarget之間的之間的Target-Server/Target Target-Server/Target ClientClient耦合方式下載(耦合方式下載(downloaddownload)到)到TargetTarget的的RAMR
51、AM中,然后接受控制權(quán),實(shí)現(xiàn)調(diào)試中,然后接受控制權(quán),實(shí)現(xiàn)調(diào)試 6.5.2 VxWorks Image在內(nèi)存中的存放與加載 圖圖6-13 Downloadable Image的加載的加載 6.5.3 VxWorks Image的運(yùn)行 n 初始化初始化 自下而上自下而上(bottom_upbottom_up)n 執(zhí)行執(zhí)行 自上而下自上而下(top_downtop_down)6.5 目標(biāo)機(jī)上的VxWorks Image小結(jié):小結(jié):VxWorks ImageVxWorks Image的種類的種類 Bootable Bootable ImageImageROM ImageROM ImageRAM Ima
52、geRAM ImageROM-basedROM-basedImageImage ROM-residentROM-residentImageImage 非壓縮非壓縮壓縮壓縮Downloadable Downloadable ImageImage 6.5 目標(biāo)機(jī)上的VxWorks Image VxWorks ImageVxWorks Image的應(yīng)用的應(yīng)用 n 在開(kāi)發(fā)階段在開(kāi)發(fā)階段n 一般使用一般使用Downloadable ImageDownloadable Image動(dòng)態(tài)下載后與操作系統(tǒng)及其它目標(biāo)文件動(dòng)態(tài)鏈接動(dòng)態(tài)下載后與操作系統(tǒng)及其它目標(biāo)文件動(dòng)態(tài)鏈接( (與與DOSDOS的的* *.EXE.E
53、XE文件相類似,地址在編譯鏈接后是浮動(dòng)的,文件相類似,地址在編譯鏈接后是浮動(dòng)的,只在裝載到內(nèi)存后才與絕對(duì)物理地址相對(duì)應(yīng)只在裝載到內(nèi)存后才與絕對(duì)物理地址相對(duì)應(yīng)) ) 節(jié)省開(kāi)發(fā)過(guò)程中每次編譯鏈接操作系統(tǒng)的時(shí)間節(jié)省開(kāi)發(fā)過(guò)程中每次編譯鏈接操作系統(tǒng)的時(shí)間 便于團(tuán)隊(duì)進(jìn)行大型應(yīng)用程序的并行合作開(kāi)發(fā)便于團(tuán)隊(duì)進(jìn)行大型應(yīng)用程序的并行合作開(kāi)發(fā)n 也可使用也可使用RAM Bootable ImageRAM Bootable Image6.5 目標(biāo)機(jī)上的VxWorks Imagen 在成品階段在成品階段 一般使用一般使用Bootable ImageBootable Imagen 采用靜態(tài)鏈接采用靜態(tài)鏈接, ,一次生成并
54、固化到目標(biāo)機(jī)一次生成并固化到目標(biāo)機(jī)中后一般很少修改變化中后一般很少修改變化n 具體類型根據(jù)具體類型根據(jù)ROM/RAMROM/RAM大小和運(yùn)行效率要大小和運(yùn)行效率要求選用求選用 6.6一個(gè)簡(jiǎn)單的工程項(xiàng)目實(shí)例 使用使用TornadoTornado及其目標(biāo)仿真器及其目標(biāo)仿真器VxSimVxSim,開(kāi)發(fā)調(diào)試一個(gè)開(kāi)發(fā)調(diào)試一個(gè)Downloadable ImageDownloadable Image的的工程項(xiàng)目工程項(xiàng)目: :n(1) (1) 創(chuàng)建創(chuàng)建一個(gè)工作空間和一個(gè)工作空間和工程工程項(xiàng)目項(xiàng)目 n(2) (2) 在工程在工程項(xiàng)目中項(xiàng)目中創(chuàng)建應(yīng)用創(chuàng)建應(yīng)用程序程序 n(3) (3) 編譯鏈接生成目標(biāo)映象編譯鏈接
55、生成目標(biāo)映象Downloadable ImageDownloadable Imagen(4) (4) 在主機(jī)上在主機(jī)上,將目標(biāo)映象,將目標(biāo)映象下載到目標(biāo)下載到目標(biāo)機(jī)機(jī)VxSimVxSim6.6一個(gè)簡(jiǎn)單的工程項(xiàng)目實(shí)例 n (5)(5)目標(biāo)映象的運(yùn)行調(diào)試目標(biāo)映象的運(yùn)行調(diào)試 包括包括n使用使用 WindShWindSh啟動(dòng)啟動(dòng)運(yùn)行運(yùn)行程序程序n使使用用 Browser Browser 觀察目標(biāo)機(jī)內(nèi)存使用情況觀察目標(biāo)機(jī)內(nèi)存使用情況n使用使用 WindView WindView 邏輯分析器動(dòng)態(tài)分析任務(wù)的調(diào)邏輯分析器動(dòng)態(tài)分析任務(wù)的調(diào)度過(guò)程度過(guò)程n使用使用CrossWindCrossWind進(jìn)行進(jìn)行debu
56、gdebug6.6.1 創(chuàng)建工程項(xiàng)目 (1) (1) 啟動(dòng)啟動(dòng) T Tornadornado o T Tornadornado o安裝完成后,安裝完成后,選擇選擇 Windows Windows 的菜單的菜單【開(kāi)始】【開(kāi)始】【程序】【程序】【 Tornado2.2 Tornado2.2 】【 Tornado Tornado 】,開(kāi)始,開(kāi)始 TornadoTornado,出現(xiàn)如圖,出現(xiàn)如圖6-6-1616所示的【所示的【 Create Project in Create Project in New/Existing Workspace New/Existing Workspace 】對(duì)話框?qū)υ?/p>
57、框 6.6.1 創(chuàng)建工程項(xiàng)目 圖圖6-16 6-16 創(chuàng)建項(xiàng)目對(duì)話框創(chuàng)建項(xiàng)目對(duì)話框 6.6.1 創(chuàng)建工程項(xiàng)目 如果沒(méi)有出現(xiàn)如圖如果沒(méi)有出現(xiàn)如圖6-166-16所示的【所示的【 Create Create Project in New/Existing Workspace Project in New/Existing Workspace 】對(duì)話對(duì)話框框 , , 單擊單擊 Tornado Tornado 的【的【 File File 】【 New New Project. Project. 】菜單。出現(xiàn)【菜單。出現(xiàn)【 Create Project Create Project inNewinNe
58、w/Existing workspace /Existing workspace 】對(duì)話框。選擇對(duì)話框。選擇創(chuàng)建一個(gè)可下載的創(chuàng)建一個(gè)可下載的 ( (downloadable) downloadable) 應(yīng)用程應(yīng)用程序序 , , 如圖如圖 6-17 6-17 所示。所示。 6.6.1 創(chuàng)建工程項(xiàng)目 圖圖6-17 6-17 創(chuàng)建可下載的應(yīng)用程序?qū)υ捒騽?chuàng)建可下載的應(yīng)用程序?qū)υ捒?6.6.1 創(chuàng)建工程項(xiàng)目 (2) (2) 單擊【單擊【 OK OK 】按鈕按鈕 , , 出現(xiàn)如圖出現(xiàn)如圖6-186-18所示所示的的 Tornado Tornado 應(yīng)用程序向?qū)Вㄟ^(guò)此應(yīng)用程序向?qū)?,通過(guò)此向?qū)?chuàng)建向?qū)?chuàng)建
59、新的項(xiàng)目新的項(xiàng)目。 在在圖圖6-186-18的對(duì)話框的對(duì)話框中中, , 鍵入:鍵入:n 項(xiàng)目名稱項(xiàng)目名稱n 項(xiàng)目文件的存放路徑和目錄名項(xiàng)目文件的存放路徑和目錄名n 項(xiàng)目描述(可選項(xiàng)目描述(可選項(xiàng))項(xiàng))n 工作空間的名稱和工作空間文件的存放位置工作空間的名稱和工作空間文件的存放位置 6.6.1 創(chuàng)建工程項(xiàng)目 圖圖6-18 6-18 指定項(xiàng)目名稱對(duì)話框指定項(xiàng)目名稱對(duì)話框 6.6.1 創(chuàng)建工程項(xiàng)目 本例中本例中: :n 項(xiàng)目名稱為項(xiàng)目名稱為 ProjectlProjectl“n 項(xiàng)目位置為項(xiàng)目位置為 C:C:嵌入式系統(tǒng)基礎(chǔ)嵌入式系統(tǒng)基礎(chǔ) Project1“Project1“n 工作空間為工作空間為
60、C:C:嵌入式系統(tǒng)基礎(chǔ)嵌入式系統(tǒng)基礎(chǔ) Project1Workspace1.Project1Workspace1.wspwsp“6.6.1 創(chuàng)建工程項(xiàng)目 (3) (3) 單擊【單擊【 Next Next 】按鈕,出現(xiàn)如圖按鈕,出現(xiàn)如圖 6-6-19 19 所示的所示的對(duì)話框?qū)υ捒?,在這里可以設(shè)置應(yīng)用在這里可以設(shè)置應(yīng)用程序的工具鏈。這里從下拉列表中選擇使程序的工具鏈。這里從下拉列表中選擇使用默認(rèn)的工具鏈名稱用默認(rèn)的工具鏈名稱 SIMNTgnuSIMNTgnu 6.6.1 創(chuàng)建工程項(xiàng)目 圖圖6-19 6-19 指定工具鏈對(duì)話框指定工具鏈對(duì)話框 6.6.1 創(chuàng)建工程項(xiàng)目 (4) (4) 單擊【單擊【 Next Next 】按鈕,出現(xiàn)如圖按鈕
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 政府部門薪酬與績(jī)效管理制度研究
- 混凝土工程現(xiàn)場(chǎng)交通安全協(xié)議書(shū)
- 集電線路施工設(shè)備租賃合同
- 建筑垃圾清運(yùn)服務(wù)方案優(yōu)化
- 健身房教練工作規(guī)程與制度
- 2024-2030年中國(guó)血液制品行業(yè)市場(chǎng)狀況調(diào)研及投資前景展望報(bào)告版
- 2024-2030年中國(guó)葵花籽種植產(chǎn)業(yè)未來(lái)發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國(guó)薺藍(lán)油行業(yè)生產(chǎn)銷售模式及投資潛力分析報(bào)告版
- 2024-2030年中國(guó)背光模組行業(yè)發(fā)展態(tài)勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國(guó)纖維板行業(yè)產(chǎn)量分析及投資規(guī)劃研究報(bào)告
- 污水源熱泵方案
- QCT 1037-2016 道路車輛用高壓電纜
- 現(xiàn)代交換原理與通信網(wǎng)技
- 全科醫(yī)生臨床常見(jiàn)病門急診病歷模板(范例)
- GH/T 1421-2023野生食用菌保育促繁技術(shù)規(guī)程塊菌(松露)
- 商業(yè)綜合體停車收費(fèi)管理詳細(xì)規(guī)定
- 健康管理專業(yè)職業(yè)生涯規(guī)劃書(shū)
- 滑膜炎的知識(shí)宣教
- 第23課《孟子三章富貴不能淫》課件(共22張)語(yǔ)文八年級(jí)上冊(cè)
- 合理用藥軟件系統(tǒng)建設(shè)方案
- Unit4Whatcanyoudo-PartBLetslearn(課件)人教PEP版英語(yǔ)五年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論