VxWorks使用說明書(1)
VxWorks操作系統(tǒng)的集成環(huán)境叫Tornado。Tornado集成環(huán)境提供了高效明晰的圖形化的實時應(yīng)用開發(fā)平臺,它包括一套完整的面向嵌入式系統(tǒng)的開發(fā)和調(diào)測工具。Tornado環(huán)境采用主機-目標(biāo)機交叉開發(fā)模型,應(yīng)用程序在主機的Windows環(huán)境下編譯鏈接生成可執(zhí)行文件,下載到目標(biāo)機,通過主機上的目標(biāo)服務(wù)器(Target Server)與目標(biāo)機上的目標(biāo)代理(Target Agent)的通信完成對應(yīng)用程序的調(diào)試、分析。它主要由以下幾部分組成:
VxWorks高性能的實時操作系統(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實時環(huán)境,并生成板級支持包BSP的配置。通過修改config.h可以實現(xiàn)WindConfig的所有功能,并且,可以實現(xiàn)WindConfig不能實現(xiàn)的功能。
* WindSh:Tornado外殼
WindSh是一個駐留在主機內(nèi)的C語言解釋器,通過它可運行下載到目標(biāo)機上的所有函數(shù),包括VxWorks和應(yīng)用函數(shù)。Tornado外殼還能解釋常規(guī)的工具命令語言TCL。
WindSh不僅可以解釋幾乎所有的C語言表達式,而且可以實現(xiàn)所有的調(diào)試功能。它主要有以下調(diào)試功能:下載軟件模塊;刪除軟件模塊;產(chǎn)生任務(wù);刪除任務(wù);設(shè)置斷點;刪除斷點;運行、單步、繼續(xù)執(zhí)行程序;查看內(nèi)存、寄存器、變量;修改內(nèi)存、寄存器、變量;查看任務(wù)列表、內(nèi)存使用情況、CPU利用率;查看特定的對象(任務(wù)、信號量、消息隊列、內(nèi)存分區(qū)、類);復(fù)位目標(biāo)機。
* 瀏覽器
Tornado瀏覽器可查看內(nèi)存分配情況、任務(wù)列表、CPU利用率、系統(tǒng)目標(biāo)(如任務(wù)、消息隊列、信號量等)。這些信息可周期性地進行更新。
* CrossWind:源碼級調(diào)試器
源碼級調(diào)試器CrossWind提供了圖形和命令行方式來調(diào)試,可進行指定任務(wù)或系統(tǒng)級斷點設(shè)置、單步執(zhí)行、異常處理。
有些功能如修改內(nèi)存、寄存器、變量的值通過菜單操作是無法實現(xiàn)的,需要在WindSh中執(zhí)行原語操作實現(xiàn)。
* 駐留主機的目標(biāo)服務(wù)器
目標(biāo)服務(wù)器管理主機與目標(biāo)機的通信,所有與目標(biāo)機的交互工具都通過目標(biāo)服務(wù)器,它也管理主機上的目標(biāo)機符號表,提供目標(biāo)模塊的加載和卸載。
* Tornado注冊器
所有目標(biāo)服務(wù)器注冊其提供的服務(wù)在注冊器中。注冊器映射用戶定義的目標(biāo)名到目標(biāo)服務(wù)器網(wǎng)絡(luò)地址。
* VxWorks
Tornado集成了VxWorks操作系統(tǒng)。
* 目標(biāo)代理程序
目標(biāo)代理程序是一個駐留在目標(biāo)機中的聯(lián)系Tornado工具和目標(biāo)機系統(tǒng)的組件。一般來說,目標(biāo)代理程序往往是不可見的。
3、MPC750/MCPN750上bootrom的制作
MPC750/MCPN750上的 bootrom用于初始化MPC750/MCPN750的硬件,通過網(wǎng)口加載 VxWorks 的內(nèi)核映象。因為MPC750/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 文件
* 啟動TFTP服務(wù)器tftpd32.exe,設(shè)置下載文件(mcp750.bin)的目錄
* 用PPCBug啟動目標(biāo)系統(tǒng)
* 運行并配置超級終端。配置:9600bps波特率、8位數(shù)據(jù)位、1位停止位、無校驗位、無流量控制。
* 在超級終端中,使用niot命令修改客戶(目標(biāo)機)IP地址和服務(wù)器(主機)IP地址
* 使用niop命令設(shè)置加載的文件名(mcp750.bin)
* 使用pflash 4000:FFF00 ff000100命令寫FLASH B。
4、啟動軟盤制作
目標(biāo)機啟動軟盤用于啟動目標(biāo)機,通過網(wǎng)口使用Ftp協(xié)議從主機下載VxWorks映象。在X86平臺上,一般使用啟動軟盤來啟動目標(biāo)機。
.1 .啟動盤的制作
在實時應(yīng)用系統(tǒng)的開發(fā)調(diào)測階段,往往采用以PC機作為目標(biāo)機來調(diào)測程序。主機PC和目標(biāo)機PC之間可采取串口或是網(wǎng)口進行聯(lián)結(jié)。由于大多數(shù)目標(biāo)已配有網(wǎng)卡,網(wǎng)絡(luò)聯(lián)結(jié)成為最簡單快速的連接方式。串口聯(lián)結(jié)雖通信速率不高,也有它自己的優(yōu)點,系統(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)機VxWorks系統(tǒng)啟動盤的制作作一簡要介紹(以PC機為目標(biāo)系統(tǒng))。
串口通信時目標(biāo)機VxWorks系統(tǒ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=主機ip e=目標(biāo)機ip u=主機上的登錄用戶名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)機軟驅(qū),加電啟動目標(biāo)機即載入VxWorkst系統(tǒng)。
網(wǎng)口通信時目標(biāo)機VxWorks系統(tǒng)啟動盤的制作步驟:
1.配置目標(biāo)機網(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)主機標(biāo)識名:C:\tornado\target\config\pc486\vxWorks h=主機IP e=目標(biāo)機IP u=登錄用戶名 pw=口令 tn=目標(biāo)機名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) /* 啟動設(shè)備為網(wǎng)卡 */
host /* 主機標(biāo)識,可以任意填寫,不影響啟動過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機加載的映象文件 */
h=129.9.75.39 /* 主機的IP地址 */
e=129.9.49.7 /* 目標(biāo)機的IP地址 */
u=x86 /* 用戶名,主機的Ftp服務(wù)器必須有相應(yīng)的同名用戶 */
pw=x86 /* 密碼,必須與主機的Ftp服務(wù)器相應(yīng)的同名用戶的密碼相同*/
tn=x86 /*目標(biāo)名,可以任意設(shè)置,不影響啟動過程*/
3.主機信息的確定(可無)
主機操作系統(tǒng)Win95安裝目錄下有一文件hosts.sam,向其中加入:
主機IP 主機名
目標(biāo)機IP 目標(biāo)機名
4.在Tornado集成環(huán)境中點取Project菜單,選取Make PC486,選擇Common Target,先進行clean操作;再選擇Boot Rom Target,進行bootrom_uncmp操作;再選擇VxWorks Target,進行vxworks操作。
5.拷貝\Tornadotargetconfigpc486bootrom_uncmp至\Tornadohostbin下;
6.重命名文件bootrom_uncmp為bootrom;
7.準(zhǔn)備一張已格式化的空盤插入軟驅(qū);
8.在目錄\Tornadohostbin下執(zhí)行命令 mkboot a: bootrom ;
9.啟動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)機軟驅(qū),加電啟動目標(biāo)機即通過FTP方式從主機下載VxWorkst系統(tǒng)。
2)主機Tornado環(huán)境配置
串口聯(lián)結(jié)時主機Tornado開發(fā)環(huán)境的目標(biāo)服務(wù)器配置操作如下:
1.在Tornado集成環(huá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;窗口中選擇主機與目標(biāo)機連接所占用的串口號(COM1,COM2),再在quot;Speed(bps)quot;窗口中選擇主機與目標(biāo)機間串口速率。
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;窗口中的其它各項可根據(jù)需要選擇。
網(wǎng)口聯(lián)結(jié)時主機Tornado開發(fā)環(huán)境的目標(biāo)服務(wù)器配置操作如下:
1.在Tornado集成環(huá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)機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;窗口中的其它各項可根據(jù)需要選擇。
以上的串口和網(wǎng)口聯(lián)結(jié)配置完成后,可按以下步驟和目標(biāo)機建立連接:
1.點擊Launch按鈕,連接主機和目標(biāo)機,全部出現(xiàn)successed后即可進入應(yīng)用程序調(diào)試。
2.點擊圖形按鈕中下拉框,選擇和主機相連的目標(biāo)機。
3.選擇Debugger菜單項中Download...,下載應(yīng)用程序到目標(biāo)板。
4. 選擇Debugger菜單項中Run...,調(diào)測應(yīng)用程序中某一任務(wù)或功能函數(shù)。
VxWorks系統(tǒng)目標(biāo)機啟動盤的制作步驟:
焈 配置目標(biāo)機網(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)機的網(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)卡中斷號*/
* 因為用軟盤啟動目標(biāo)機無法保存修改的信息,修改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) /* 啟動設(shè)備為網(wǎng)卡 */
host /* 主機標(biāo)識,可以任意填寫,不影響啟動過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機加載的映象文件 */
h=129.9.75.39 /* 主機的IP地址 */
e=129.9.49.7 /* 目標(biāo)機的IP地址 */
u=x86 /* 用戶名,主機的Ftp服務(wù)器必須有相應(yīng)的同名用戶 */
pw=x86 /* 密碼,必須與主機的Ftp服務(wù)器相應(yīng)的同名用戶的密碼相同*/
tn=x86 /*目標(biāo)名,可以任意設(shè)置,不影響啟動過程*/
焈 在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 ;
* 啟動盤制作完成
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論