新聞中心

VxWorks使用說明書(1)

作者: 時(shí)間:2011-03-12 來源:網(wǎng)絡(luò) 收藏
1、概述

VxWorks操作系統(tǒng)的集成環(huán)境叫Tornado。Tornado集成環(huán)境提供了高效明晰的圖形化的實(shí)時(shí)應(yīng)用開發(fā)平臺,它包括一套完整的面向系統(tǒng)的開發(fā)和調(diào)測工具。Tornado環(huán)境采用主機(jī)-目標(biāo)機(jī)交叉開發(fā)模型,應(yīng)用程序在主機(jī)的Windows環(huán)境下編譯鏈接生成可執(zhí)行文件,下載到目標(biāo)機(jī),通過主機(jī)上的目標(biāo)服務(wù)器(Target Server)與目標(biāo)機(jī)上的目標(biāo)代理(Target Agent)的通信完成對應(yīng)用程序的調(diào)試、分析。它主要由以下幾部分組成:

VxWorks高性能的實(shí)時(shí)操作系統(tǒng);
* 應(yīng)用編譯工具;
* 交互開發(fā)工具;

下面對Tornado集成環(huán)境的各組件功能分別介紹:

* Tornado開發(fā)環(huán)境
Tornado是集成了編輯器、編譯器、調(diào)試器于一體的高度集成的窗口環(huán)境,同樣也可以從Shell窗口下發(fā)命令和瀏覽。

* WindConfig:Tornado系統(tǒng)配置
通過WindConfig可選擇需要的組件組成VxWorks實(shí)時(shí)環(huán)境,并生成板級支持包BSP的配置。通過修改config.h可以實(shí)現(xiàn)WindConfig的所有功能,并且,可以實(shí)現(xiàn)WindConfig不能實(shí)現(xiàn)的功能。

* WindSh:Tornado外殼
WindSh是一個(gè)駐留在主機(jī)內(nèi)的C語言解釋器,通過它可運(yùn)行下載到目標(biāo)機(jī)上的所有函數(shù),包括VxWorks和應(yīng)用函數(shù)。Tornado外殼還能解釋常規(guī)的工具命令語言TCL。

WindSh不僅可以解釋幾乎所有的C語言表達(dá)式,而且可以實(shí)現(xiàn)所有的調(diào)試功能。它主要有以下調(diào)試功能:下載軟件模塊;刪除軟件模塊;產(chǎn)生任務(wù);刪除任務(wù);設(shè)置斷點(diǎn);刪除斷點(diǎn);運(yùn)行、單步、繼續(xù)執(zhí)行程序;查看內(nèi)存、寄存器、變量;修改內(nèi)存、寄存器、變量;查看任務(wù)列表、內(nèi)存使用情況、CPU利用率;查看特定的對象(任務(wù)、信號量、消息隊(duì)列、內(nèi)存分區(qū)、類);復(fù)位目標(biāo)機(jī)。

* 瀏覽器
Tornado瀏覽器可查看內(nèi)存分配情況、任務(wù)列表、CPU利用率、系統(tǒng)目標(biāo)(如任務(wù)、消息隊(duì)列、信號量等)。這些信息可周期性地進(jìn)行更新。

* CrossWind:源碼級調(diào)試器
源碼級調(diào)試器CrossWind提供了圖形和命令行方式來調(diào)試,可進(jìn)行指定任務(wù)或系統(tǒng)級斷點(diǎn)設(shè)置、單步執(zhí)行、異常處理。

有些功能如修改內(nèi)存、寄存器、變量的值通過菜單操作是無法實(shí)現(xiàn)的,需要在WindSh中執(zhí)行原語操作實(shí)現(xiàn)。

* 駐留主機(jī)的目標(biāo)服務(wù)器
目標(biāo)服務(wù)器管理主機(jī)與目標(biāo)機(jī)的通信,所有與目標(biāo)機(jī)的交互工具都通過目標(biāo)服務(wù)器,它也管理主機(jī)上的目標(biāo)機(jī)符號表,提供目標(biāo)模塊的加載和卸載。

* Tornado注冊器
所有目標(biāo)服務(wù)器注冊其提供的服務(wù)在注冊器中。注冊器映射用戶定義的目標(biāo)名到目標(biāo)服務(wù)器網(wǎng)絡(luò)地址。

* VxWorks
Tornado集成了VxWorks操作系統(tǒng)。

* 目標(biāo)代理程序
目標(biāo)代理程序是一個(gè)駐留在目標(biāo)機(jī)中的聯(lián)系Tornado工具和目標(biāo)機(jī)系統(tǒng)的組件。一般來說,目標(biāo)代理程序往往是不可見的。

3、MPC750/MCPN750上bootrom的制作

MPC750/MCPN750上的 bootrom用于初始化MPC750/MCPN750的硬件,通過網(wǎng)口加載 VxWorks 的內(nèi)核映象。因?yàn)镸PC750/MCPN750的bootrom已經(jīng)制作,如果沒有特殊需要,不需重新制作bootrom。

制作MPC750/MCPN750上 bootrom的步驟:

* 在Tornado集成環(huán)境下,使用菜單命令Project | Make MCP750/MCPN750 | Comman Targets | clean刪除以前生成的bootrom文件,使用菜單命令Project | Make MCP750/MCPN750 | Comman Targets | bootrom.hex生成bootrom文件。生成的bootrom文件在相應(yīng)的BSP目錄中(MCP750為c:tornadotargetconfigmcp750,MCPN750為c:tornadotargetconfigmcpn750)

* 使用elftobin lt; bootRom gt; mcp750.bin 生成mcp750.bin 文件

* 啟動(dòng)TFTP服務(wù)器tftpd32.exe,設(shè)置下載文件(mcp750.bin)的目錄

* 用PPCBug啟動(dòng)目標(biāo)系統(tǒng)

* 運(yùn)行并配置超級終端。配置:9600bps波特率、8位數(shù)據(jù)位、1位停止位、無校驗(yàn)位、無流量控制。

* 在超級終端中,使用niot命令修改客戶(目標(biāo)機(jī))IP地址和服務(wù)器(主機(jī))IP地址

* 使用niop命令設(shè)置加載的文件名(mcp750.bin)

* 使用pflash 4000:FFF00 ff000100命令寫FLASH B。

4、啟動(dòng)軟盤制作

目標(biāo)機(jī)啟動(dòng)軟盤用于啟動(dòng)目標(biāo)機(jī),通過網(wǎng)口使用Ftp協(xié)議從主機(jī)下載VxWorks映象。在X86平臺上,一般使用啟動(dòng)軟盤來啟動(dòng)目標(biāo)機(jī)。

.1 .啟動(dòng)盤的制作
在實(shí)時(shí)應(yīng)用系統(tǒng)的開發(fā)調(diào)測階段,往往采用以PC機(jī)作為目標(biāo)機(jī)來調(diào)測程序。主機(jī)PC和目標(biāo)機(jī)PC之間可采取串口或是網(wǎng)口進(jìn)行聯(lián)結(jié)。由于大多數(shù)目標(biāo)已配有網(wǎng)卡,網(wǎng)絡(luò)聯(lián)結(jié)成為最簡單快速的連接方式。串口聯(lián)結(jié)雖通信速率不高,也有它自己的優(yōu)點(diǎn),系統(tǒng)級任務(wù)調(diào)試(如中斷服務(wù)程序ISR)需使通信方式工作在Polled 模式,網(wǎng)口聯(lián)結(jié)就不支持,因此可以裁剪掉系統(tǒng)中網(wǎng)絡(luò)部分,以使VxWorks系統(tǒng)更小,滿足目標(biāo)板的內(nèi)存約束。下面分別對這兩種通信方式下目標(biāo)機(jī)VxWorks系統(tǒng)啟動(dòng)盤的制作作一簡要介紹(以PC機(jī)為目標(biāo)系統(tǒng))。

串口通信時(shí)目標(biāo)機(jī)VxWorks系統(tǒng)啟動(dòng)盤的制作步驟:

1.修改通用配置文件\Tornadotargetconfigpc486config.h.
在config.h文件中加入以下宏定義:
#define INCLUDE_WDB
#define INCLUDE_WDB_TTY_TEST
#undef WDB_COMM_TYPE
#define WDB_COMM_TYPE WDB_COMM_SERIAL /*定義通信方式為串口聯(lián)結(jié)*/
#define WDB_TTY_CHANNEL 1 /*通道號*/
#define WDB_TTY_BAUD 9600 /*串口速率,可設(shè)置至38400*/
#define WDB_TTY_DEV_NAME quot;tyCo/1quot;
#define CONSOLE_TTY 0
#define DEFAULT_BOOT_LINE
quot;fd=0,0(0,0)hostname:/fd0/vxWorks h=主機(jī)ip e=目標(biāo)機(jī)ip u=主機(jī)上的登錄用戶名quot;

2. 在Tornado集成環(huán)境中執(zhí)行菜單命令Project | Make PC486 | Common Targets | clean刪除以前生成的文件,執(zhí)行菜單命令Project | Make PC486 | Boot Rom Targets | bootrom_uncmp編譯鏈接生成bootrom_uncmp ;再選擇VxWorks Target,編譯生成vxworks。

3.拷貝\Tornadotargetconfigpc486bootrom_uncmp至\Tornadohostbin下;

4.重命名文件bootrom_uncmp為bootrom;

15.準(zhǔn)備一張已格式化的空盤插入軟驅(qū);

6.在目錄\Tornadohostbin下執(zhí)行命令 mkboot a: bootrom;

7.拷貝\Tornadotargetconfigpc486VxWorks至軟盤;

8.將系統(tǒng)制作盤插入目標(biāo)機(jī)軟驅(qū),加電啟動(dòng)目標(biāo)機(jī)即載入VxWorkst系統(tǒng)。

網(wǎng)口通信時(shí)目標(biāo)機(jī)VxWorks系統(tǒng)啟動(dòng)盤的制作步驟:

1.配置目標(biāo)機(jī)網(wǎng)卡,設(shè)置其中斷號和輸入輸出范圍(I/O地址);

2.修改通用配置文件\Tornadotargetconfigpc486config.h.

針對不同的網(wǎng)卡,其名稱不同,如NE2000及其兼容網(wǎng)卡為ENE,3COM以太網(wǎng)卡為ELT,Intel網(wǎng)卡為EEX。 在config.h文件中修改相應(yīng)網(wǎng)卡類型(如網(wǎng)卡為3COM網(wǎng)卡)的定義部分:

#define IO_ADRS_ELT 網(wǎng)卡I/O地址
#define INT_LVL_ELT 網(wǎng)卡中斷號

并且修改#define DEFAULT_BOOT_LINE的定義:

#define DEFAULT_BOOT_LINE
quot;elt(0,0)主機(jī)標(biāo)識名:C:\tornado\target\config\pc486\vxWorks h=主機(jī)IP e=目標(biāo)機(jī)IP u=登錄用戶名 pw=口令 tn=目標(biāo)機(jī)名quot;

DEFAULT_BOOT_LINE宏定義,使缺省配置符合自己的調(diào)試環(huán)境

#define DEFAULT_BOOT_LINE
quot;ene(0,0)host:c:/tornado/target/config/pc486/vxWorks h=129.9.75.39 e=129.9.49.7 u=x86 pw=x86 tn=x86quot;
ene(0,0) /* 啟動(dòng)設(shè)備為網(wǎng)卡 */
host /* 主機(jī)標(biāo)識,可以任意填寫,不影響啟動(dòng)過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機(jī)加載的映象文件 */
h=129.9.75.39 /* 主機(jī)的IP地址 */
e=129.9.49.7 /* 目標(biāo)機(jī)的IP地址 */
u=x86 /* 用戶名,主機(jī)的Ftp服務(wù)器必須有相應(yīng)的同名用戶 */
pw=x86 /* 密碼,必須與主機(jī)的Ftp服務(wù)器相應(yīng)的同名用戶的密碼相同*/
tn=x86 /*目標(biāo)名,可以任意設(shè)置,不影響啟動(dòng)過程*/

3.主機(jī)信息的確定(可無)

主機(jī)操作系統(tǒng)Win95安裝目錄下有一文件hosts.sam,向其中加入:
主機(jī)IP 主機(jī)名
目標(biāo)機(jī)IP 目標(biāo)機(jī)名

4.在Tornado集成環(huán)境中點(diǎn)取Project菜單,選取Make PC486,選擇Common Target,先進(jìn)行clean操作;再選擇Boot Rom Target,進(jìn)行bootrom_uncmp操作;再選擇VxWorks Target,進(jìn)行vxworks操作。

5.拷貝\Tornadotargetconfigpc486bootrom_uncmp至\Tornadohostbin下;

6.重命名文件bootrom_uncmp為bootrom;

7.準(zhǔn)備一張已格式化的空盤插入軟驅(qū);

8.在目錄\Tornadohostbin下執(zhí)行命令 mkboot a: bootrom ;

9.啟動(dòng)Tornado組件FTP Server,在WFTPD窗口中選擇菜單Security中的User/right...,在其彈出窗口中選擇New User...,根據(jù)提示信息輸入登錄用戶名和口令,并且要指定下載文件vxWorks所在根目錄;還必選取主菜單Logging中Log options,使Enable Logging、Gets 、Logins 、Commands 、Warnings能。

10.將系統(tǒng)制作盤插入目標(biāo)機(jī)軟驅(qū),加電啟動(dòng)目標(biāo)機(jī)即通過FTP方式從主機(jī)下載VxWorkst系統(tǒng)。

2)主機(jī)Tornado環(huán)境配置

串口聯(lián)結(jié)時(shí)主機(jī)Tornado開發(fā)環(huán)境的目標(biāo)服務(wù)器配置操作如下:

1.在Tornado集成環(huán)境中點(diǎn)取Tools菜單,選取Target Server,選擇config...;
2.在Configure Target Servers窗口中先給目標(biāo)服務(wù)器命名;
3.在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中選擇Back End,在quot;Available Backquot;窗口中選擇wdbserial,再在quot;Serial Portquot;窗口中選擇主機(jī)與目標(biāo)機(jī)連接所占用的串口號(COM1,COM2),再在quot;Speed(bps)quot;窗口中選擇主機(jī)與目標(biāo)機(jī)間串口速率。
4. 在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中選擇Core File and Symbols,
選擇File為BSP目標(biāo)文件所在目錄(本例為PC486目錄)的VxWorks.st,并選取為All Symbols.
5.在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中的其它各項(xiàng)可根據(jù)需要選擇。

網(wǎng)口聯(lián)結(jié)時(shí)主機(jī)Tornado開發(fā)環(huán)境的目標(biāo)服務(wù)器配置操作如下:

1.在Tornado集成環(huán)境中點(diǎn)取Tools菜單,選取Target Server,選擇config...;
2.在Configure Target Servers窗口中先給目標(biāo)服務(wù)器命名;
3.在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中選擇Back End,在quot;Available Backquot;窗口中選擇wdbrpc,在quot;Target IP/Addressquot;窗口中輸入目標(biāo)機(jī)IP。
4. 在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中選擇Core File and Symbols,
選擇File為BSP目標(biāo)文件所在目錄(本例為PC486目錄)的VxWorks,并選取為All Symbols.
5.在配置目標(biāo)服務(wù)器窗口中的quot;Change Propertyquot;窗口中的其它各項(xiàng)可根據(jù)需要選擇。

以上的串口和網(wǎng)口聯(lián)結(jié)配置完成后,可按以下步驟和目標(biāo)機(jī)建立連接:

1.點(diǎn)擊Launch按鈕,連接主機(jī)和目標(biāo)機(jī),全部出現(xiàn)successed后即可進(jìn)入應(yīng)用程序調(diào)試。
2.點(diǎn)擊圖形按鈕中下拉框,選擇和主機(jī)相連的目標(biāo)機(jī)。
3.選擇Debugger菜單項(xiàng)中Download...,下載應(yīng)用程序到目標(biāo)板。
4. 選擇Debugger菜單項(xiàng)中Run...,調(diào)測應(yīng)用程序中某一任務(wù)或功能函數(shù)。
VxWorks系統(tǒng)目標(biāo)機(jī)啟動(dòng)盤的制作步驟:
焈 配置目標(biāo)機(jī)網(wǎng)卡,設(shè)置其中斷號和輸入輸出范圍(I/O地址);
焈 修改配置文件C:Tornadotargetconfigpc486config.h。
不同的網(wǎng)卡,其名稱不同,如NE2000及其兼容網(wǎng)卡為ENE,3COM以太網(wǎng)卡為ELT,Intel網(wǎng)卡為EEX。根據(jù)目標(biāo)機(jī)的網(wǎng)卡類型、中斷號、I/O地址修改config.h文件中的相應(yīng)宏定義。以下以NE2000網(wǎng)卡(中斷號為10,I/O地址為0X300)為例說明配置過程。
#define IO_ADRS_ENE 0x300 /*網(wǎng)卡I/O地址*/
#define INT_LVL_ENE 0x0a /*網(wǎng)卡中斷號*/
* 因?yàn)橛密洷P啟動(dòng)目標(biāo)機(jī)無法保存修改的信息,修改config.h文件中的DEFAULT_BOOT_LINE宏定義,使缺省配置符合自己的調(diào)試環(huán)境
#define DEFAULT_BOOT_LINE
quot;ene(0,0)host:c:/tornado/target/config/pc486/vxWorks h=129.9.75.39 e=129.9.49.7 u=x86 pw=x86 tn=x86quot;
ene(0,0) /* 啟動(dòng)設(shè)備為網(wǎng)卡 */
host /* 主機(jī)標(biāo)識,可以任意填寫,不影響啟動(dòng)過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機(jī)加載的映象文件 */
h=129.9.75.39 /* 主機(jī)的IP地址 */
e=129.9.49.7 /* 目標(biāo)機(jī)的IP地址 */
u=x86 /* 用戶名,主機(jī)的Ftp服務(wù)器必須有相應(yīng)的同名用戶 */
pw=x86 /* 密碼,必須與主機(jī)的Ftp服務(wù)器相應(yīng)的同名用戶的密碼相同*/
tn=x86 /*目標(biāo)名,可以任意設(shè)置,不影響啟動(dòng)過程*/
焈 在Tornado集成環(huán)境中執(zhí)行菜單命令Project | Make PC486 | Common Targets | clean刪除以前生成的文件,執(zhí)行菜單命令Project | Make PC486 | Boot Rom Targets | bootrom_uncmp編譯鏈接生成bootrom_uncmp。
* 拷貝c:Tornadotargetconfigpc486bootrom_uncmp至c:Tornadohostbin下;
* 重命名文件bootrom_uncmp為bootrom;
* 準(zhǔn)備一張已格式化的空盤插入軟驅(qū);
* 在目錄c:Tornadohostbin下執(zhí)行命令 mkboot a: bootrom ;
* 啟動(dòng)盤制作完成
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉