VxWorks使用說明書(1)
VxWorks操作系統(tǒng)的集成環(huán)境叫Tornado。Tornado集成環(huán)境提供了高效明晰的圖形化的實時應用開發(fā)平臺,它包括一套完整的面向嵌入式系統(tǒng)的開發(fā)和調測工具。Tornado環(huán)境采用主機-目標機交叉開發(fā)模型,應用程序在主機的Windows環(huán)境下編譯鏈接生成可執(zhí)行文件,下載到目標機,通過主機上的目標服務器(Target Server)與目標機上的目標代理(Target Agent)的通信完成對應用程序的調試、分析。它主要由以下幾部分組成:
VxWorks高性能的實時操作系統(tǒng);
* 應用編譯工具;
* 交互開發(fā)工具;
下面對Tornado集成環(huán)境的各組件功能分別介紹:
* Tornado開發(fā)環(huán)境
Tornado是集成了編輯器、編譯器、調試器于一體的高度集成的窗口環(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是一個駐留在主機內的C語言解釋器,通過它可運行下載到目標機上的所有函數(shù),包括VxWorks和應用函數(shù)。Tornado外殼還能解釋常規(guī)的工具命令語言TCL。
WindSh不僅可以解釋幾乎所有的C語言表達式,而且可以實現(xiàn)所有的調試功能。它主要有以下調試功能:下載軟件模塊;刪除軟件模塊;產生任務;刪除任務;設置斷點;刪除斷點;運行、單步、繼續(xù)執(zhí)行程序;查看內存、寄存器、變量;修改內存、寄存器、變量;查看任務列表、內存使用情況、CPU利用率;查看特定的對象(任務、信號量、消息隊列、內存分區(qū)、類);復位目標機。
* 瀏覽器
Tornado瀏覽器可查看內存分配情況、任務列表、CPU利用率、系統(tǒng)目標(如任務、消息隊列、信號量等)。這些信息可周期性地進行更新。
* CrossWind:源碼級調試器
源碼級調試器CrossWind提供了圖形和命令行方式來調試,可進行指定任務或系統(tǒng)級斷點設置、單步執(zhí)行、異常處理。
有些功能如修改內存、寄存器、變量的值通過菜單操作是無法實現(xiàn)的,需要在WindSh中執(zhí)行原語操作實現(xiàn)。
* 駐留主機的目標服務器
目標服務器管理主機與目標機的通信,所有與目標機的交互工具都通過目標服務器,它也管理主機上的目標機符號表,提供目標模塊的加載和卸載。
* Tornado注冊器
所有目標服務器注冊其提供的服務在注冊器中。注冊器映射用戶定義的目標名到目標服務器網絡地址。
* VxWorks
Tornado集成了VxWorks操作系統(tǒng)。
* 目標代理程序
目標代理程序是一個駐留在目標機中的聯(lián)系Tornado工具和目標機系統(tǒng)的組件。一般來說,目標代理程序往往是不可見的。
3、MPC750/MCPN750上bootrom的制作
MPC750/MCPN750上的 bootrom用于初始化MPC750/MCPN750的硬件,通過網口加載 VxWorks 的內核映象。因為MPC750/MCPN750的bootrom已經制作,如果沒有特殊需要,不需重新制作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文件在相應的BSP目錄中(MCP750為c:tornadotargetconfigmcp750,MCPN750為c:tornadotargetconfigmcpn750)
* 使用elftobin lt; bootRom gt; mcp750.bin 生成mcp750.bin 文件
* 啟動TFTP服務器tftpd32.exe,設置下載文件(mcp750.bin)的目錄
* 用PPCBug啟動目標系統(tǒng)
* 運行并配置超級終端。配置:9600bps波特率、8位數(shù)據(jù)位、1位停止位、無校驗位、無流量控制。
* 在超級終端中,使用niot命令修改客戶(目標機)IP地址和服務器(主機)IP地址
* 使用niop命令設置加載的文件名(mcp750.bin)
* 使用pflash 4000:FFF00 ff000100命令寫FLASH B。
4、啟動軟盤制作
目標機啟動軟盤用于啟動目標機,通過網口使用Ftp協(xié)議從主機下載VxWorks映象。在X86平臺上,一般使用啟動軟盤來啟動目標機。
.1 .啟動盤的制作
在實時應用系統(tǒng)的開發(fā)調測階段,往往采用以PC機作為目標機來調測程序。主機PC和目標機PC之間可采取串口或是網口進行聯(lián)結。由于大多數(shù)目標已配有網卡,網絡聯(lián)結成為最簡單快速的連接方式。串口聯(lián)結雖通信速率不高,也有它自己的優(yōu)點,系統(tǒng)級任務調試(如中斷服務程序ISR)需使通信方式工作在Polled 模式,網口聯(lián)結就不支持,因此可以裁剪掉系統(tǒng)中網絡部分,以使VxWorks系統(tǒng)更小,滿足目標板的內存約束。下面分別對這兩種通信方式下目標機VxWorks系統(tǒng)啟動盤的制作作一簡要介紹(以PC機為目標系統(tǒng))。
串口通信時目標機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)結*/
#define WDB_TTY_CHANNEL 1 /*通道號*/
#define WDB_TTY_BAUD 9600 /*串口速率,可設置至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=目標機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.準備一張已格式化的空盤插入軟驅;
6.在目錄\Tornadohostbin下執(zhí)行命令 mkboot a: bootrom;
7.拷貝\Tornadotargetconfigpc486VxWorks至軟盤;
8.將系統(tǒng)制作盤插入目標機軟驅,加電啟動目標機即載入VxWorkst系統(tǒng)。
網口通信時目標機VxWorks系統(tǒng)啟動盤的制作步驟:
1.配置目標機網卡,設置其中斷號和輸入輸出范圍(I/O地址);
2.修改通用配置文件\Tornadotargetconfigpc486config.h.
針對不同的網卡,其名稱不同,如NE2000及其兼容網卡為ENE,3COM以太網卡為ELT,Intel網卡為EEX。 在config.h文件中修改相應網卡類型(如網卡為3COM網卡)的定義部分:
#define IO_ADRS_ELT 網卡I/O地址
#define INT_LVL_ELT 網卡中斷號
并且修改#define DEFAULT_BOOT_LINE的定義:
#define DEFAULT_BOOT_LINE
quot;elt(0,0)主機標識名:C:\tornado\target\config\pc486\vxWorks h=主機IP e=目標機IP u=登錄用戶名 pw=口令 tn=目標機名quot;
DEFAULT_BOOT_LINE宏定義,使缺省配置符合自己的調試環(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) /* 啟動設備為網卡 */
host /* 主機標識,可以任意填寫,不影響啟動過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機加載的映象文件 */
h=129.9.75.39 /* 主機的IP地址 */
e=129.9.49.7 /* 目標機的IP地址 */
u=x86 /* 用戶名,主機的Ftp服務器必須有相應的同名用戶 */
pw=x86 /* 密碼,必須與主機的Ftp服務器相應的同名用戶的密碼相同*/
tn=x86 /*目標名,可以任意設置,不影響啟動過程*/
3.主機信息的確定(可無)
主機操作系統(tǒng)Win95安裝目錄下有一文件hosts.sam,向其中加入:
主機IP 主機名
目標機IP 目標機名
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.準備一張已格式化的空盤插入軟驅;
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)制作盤插入目標機軟驅,加電啟動目標機即通過FTP方式從主機下載VxWorkst系統(tǒng)。
2)主機Tornado環(huán)境配置
串口聯(lián)結時主機Tornado開發(fā)環(huán)境的目標服務器配置操作如下:
1.在Tornado集成環(huán)境中點取Tools菜單,選取Target Server,選擇config...;
2.在Configure Target Servers窗口中先給目標服務器命名;
3.在配置目標服務器窗口中的quot;Change Propertyquot;窗口中選擇Back End,在quot;Available Backquot;窗口中選擇wdbserial,再在quot;Serial Portquot;窗口中選擇主機與目標機連接所占用的串口號(COM1,COM2),再在quot;Speed(bps)quot;窗口中選擇主機與目標機間串口速率。
4. 在配置目標服務器窗口中的quot;Change Propertyquot;窗口中選擇Core File and Symbols,
選擇File為BSP目標文件所在目錄(本例為PC486目錄)的VxWorks.st,并選取為All Symbols.
5.在配置目標服務器窗口中的quot;Change Propertyquot;窗口中的其它各項可根據(jù)需要選擇。
網口聯(lián)結時主機Tornado開發(fā)環(huán)境的目標服務器配置操作如下:
1.在Tornado集成環(huán)境中點取Tools菜單,選取Target Server,選擇config...;
2.在Configure Target Servers窗口中先給目標服務器命名;
3.在配置目標服務器窗口中的quot;Change Propertyquot;窗口中選擇Back End,在quot;Available Backquot;窗口中選擇wdbrpc,在quot;Target IP/Addressquot;窗口中輸入目標機IP。
4. 在配置目標服務器窗口中的quot;Change Propertyquot;窗口中選擇Core File and Symbols,
選擇File為BSP目標文件所在目錄(本例為PC486目錄)的VxWorks,并選取為All Symbols.
5.在配置目標服務器窗口中的quot;Change Propertyquot;窗口中的其它各項可根據(jù)需要選擇。
以上的串口和網口聯(lián)結配置完成后,可按以下步驟和目標機建立連接:
1.點擊Launch按鈕,連接主機和目標機,全部出現(xiàn)successed后即可進入應用程序調試。
2.點擊圖形按鈕中下拉框,選擇和主機相連的目標機。
3.選擇Debugger菜單項中Download...,下載應用程序到目標板。
4. 選擇Debugger菜單項中Run...,調測應用程序中某一任務或功能函數(shù)。
VxWorks系統(tǒng)目標機啟動盤的制作步驟:
焈 配置目標機網卡,設置其中斷號和輸入輸出范圍(I/O地址);
焈 修改配置文件C:Tornadotargetconfigpc486config.h。
不同的網卡,其名稱不同,如NE2000及其兼容網卡為ENE,3COM以太網卡為ELT,Intel網卡為EEX。根據(jù)目標機的網卡類型、中斷號、I/O地址修改config.h文件中的相應宏定義。以下以NE2000網卡(中斷號為10,I/O地址為0X300)為例說明配置過程。
#define IO_ADRS_ENE 0x300 /*網卡I/O地址*/
#define INT_LVL_ENE 0x0a /*網卡中斷號*/
* 因為用軟盤啟動目標機無法保存修改的信息,修改config.h文件中的DEFAULT_BOOT_LINE宏定義,使缺省配置符合自己的調試環(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) /* 啟動設備為網卡 */
host /* 主機標識,可以任意填寫,不影響啟動過程 */
c:tornadotargetconfigpc486vxWorks /* 需要從主機加載的映象文件 */
h=129.9.75.39 /* 主機的IP地址 */
e=129.9.49.7 /* 目標機的IP地址 */
u=x86 /* 用戶名,主機的Ftp服務器必須有相應的同名用戶 */
pw=x86 /* 密碼,必須與主機的Ftp服務器相應的同名用戶的密碼相同*/
tn=x86 /*目標名,可以任意設置,不影響啟動過程*/
焈 在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;
* 準備一張已格式化的空盤插入軟驅;
* 在目錄c:Tornadohostbin下執(zhí)行命令 mkboot a: bootrom ;
* 啟動盤制作完成
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論