打通VxWorks调试环境 Step by Step.docx

上传人:b****2 文档编号:23232001 上传时间:2023-05-15 格式:DOCX 页数:12 大小:23.60KB
下载 相关 举报
打通VxWorks调试环境 Step by Step.docx_第1页
第1页 / 共12页
打通VxWorks调试环境 Step by Step.docx_第2页
第2页 / 共12页
打通VxWorks调试环境 Step by Step.docx_第3页
第3页 / 共12页
打通VxWorks调试环境 Step by Step.docx_第4页
第4页 / 共12页
打通VxWorks调试环境 Step by Step.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

打通VxWorks调试环境 Step by Step.docx

《打通VxWorks调试环境 Step by Step.docx》由会员分享,可在线阅读,更多相关《打通VxWorks调试环境 Step by Step.docx(12页珍藏版)》请在冰豆网上搜索。

打通VxWorks调试环境 Step by Step.docx

打通VxWorks调试环境StepbyStep

打通VxWorks调试环境StepbyStep

字体:

小中大|打印发表于:

2007-7-1810:

58  作者:

苦丁茶  来源:

中国电子开发网

1引言

1.1编写目的

概要说明如何建立使用Tornado开发、调试VxWorks的环境(X86版本)。

1.2背景

1.3定义

  HOST:

主机,运行Tornado集成环境,FTPServer,TargetServer,以及编辑、build

工程、下载目标文件的各种软件工具;

  TARGET:

目标机,HOST产生的vxWorks映像运行的位置,对于X86版本来说也是一台PC

  TORNADO:

C:

\Tornado,安装Tornado的路径;

  BSPNAME:

C:

\Tornado\target\config\pc486,BSP的路径,本例中我们选择pc486;

  PROJECT:

C:

\Tornado\proj\Project2,我们自己创建的工程的路径;

  BIN:

C:

\Tornado\host\x86-win32\bin,Tornado的可执行程序的路径;

  HOME:

C:

\Tornado\host\x86-win32\bin,FTP用户的根目录。

  

1.4参考资料

  TornadoUser’sGuide(WindowsVersion),2.0,Edition1

  VxWorksProgrammer’sGuide,5.4,Edition1

2总体描述

2.1硬件环境

  

HOST与TARGET通过以太网互连,并且位于同一网段;同时,串口通过直连电缆(NULLModemCable)连接。

目标机配置有软盘驱动器,网卡为3com3c905B.

  

2.2软件环境

主机操作系统为Windows2000简体中文专业版(SP3);安装TornadoVersion2.0和Win2k补丁。

(CDNo.TDK-12835-ZC-01&TDK-13127-ZC-00,T2LMforx86)

  

2.3预览

在VxWorks调试环境中,HOST与TARGET之间连接的方式有多种,比如串口和网络;引导TARGET的方式也有多种,当然对X86平台来说最简单的是软盘引导了。

在本文档中我们以网络连接、软盘引导为例,建立起调试环境。

主要步骤包括:

  HOST上启动FTPServer,

  配置BSP

  创建可以引导TARGET的BootROM,

  制作引导盘(软盘),

  用软盘引导TARGET,

  TARGET通过网络连接从HOST下载vxWorks映像文件,

  TARGET运行vxWorks,

  HOST上启动TargetServer连接TargetAgent,成功建立调试环境之后,就可以在HOST生成目标模块,下载到TARGET运行,并通过Tornado集成环境进行调试。

  

注意:

本文档中所描述的对于某些选项的选择并不一定是绝对的,只是一个行之有效的实例,仅供参考。

  

  

3详细步骤

3.1获得IP地址和网卡类型

首先要知道HOST和TARGET的IP地址以及TARGET安装的网卡类型。

在本例中,HOST的IP是10.10.0.150,TARGET的IP是10.10.0.151。

TARGET的IP地址只要不跟其他机子冲突即可(正常情况下可以通过你们的网管得到),因为目前TARGET并没有安装任何操作系统,所以这个IP地址无从配置,只是在后面的配置文件中会用到。

网卡类型是一个十分重要的问题。

为了减少麻烦,最好选择VxWorks缺省支持的网卡类型,否则可能还要添加网卡驱动程序。

不知道哪里有这样一个所支持的网卡列表,但是在不同BSP的BSPNAME/config.h文件中可以看出一些眉目。

比如pc486/config.h中有如下定义:

  

#undefINCLUDE_ULTRA  /*includeSMCElite16Ultrainterface*/

#undefINCLUDE_ENE  /*includeEagle/NovellNE2000interface*/

#undefINCLUDE_ELT  /*include3COMEtherLinkIIIinterface*/

#undefINCLUDE_ESMC  /*includeSMC91c9xEthernetinterface*/

#defineINCLUDE_FEI  /*includeIntelEtherExpressPRO100BPCI*/

#defineINCLUDE_SLIP  /*includeseriallineinterface*/

#defineSLIP_TTY1/*seriallineIPchannelCOM2*/

#undefINCLUDE_ELC  /*includeSMCElite16interface*/

#undefINCLUDE_EEX  /*includeINTELEtherExpressinterface*/

#undefINCLUDE_EEX32  /*includeINTELEtherExpressflash32*/

#undefINCLUDE_EX  /*includeExcelanEthernetinterface*/

#undefINCLUDE_ENP  /*includeCMCEthernetinterface*/

#undefINCLUDE_SM_NET  /*includebackplanenetinterface*/

#undefINCLUDE_SM_SEQ_ADDR/*sharedmemorynetworkautoaddresssetup*/

#undef  INCLUDE_EL_3C90X_END  /*3comfastetherLinkXLPCI*/

#undef  INCLUDE_LN_97X_END    /*AMD79C972ENDDRIVER*/

  

从注释中可以看出,NE2000、3COM3C509、3COM3C90X、IntelEtherExpressPRO100B等网卡是VxWorks所支持的,同时也是比较常见的,可以说是初次配置VxWorks的比较好的选择。

本例中我们使用了一块3COM3C905B网卡(3comFastEtherLinkXLPCI)。

事实证明能够很好地支持。

其实也不是所有的3COM网卡都支持,有一篇网友的帖子显示,3C905-TX的网卡就给他带来了很大的麻烦,换了3C905-BT才好,好像3C905-FX也是可以的。

  

3.2修改hosts文件

在文件c:

\winnt\system32\drivers\etc\hosts中添加如下行:

10.10.0.150xmdong

10.10.0.151target

  

3.3FTP服务器

Tornado自带了一个FTP服务器软件WFTPD。

当HOST是WIN32平台时,TARGET通过网络连接,只能用FTP协议从HOST下载vxWorks映像文件。

打开FTPServer,选中Security>Users/Rights…菜单,在添加新用户对话框中:

UserName:

target,

Password:

target,

HomeDirectory:

这里我设置为BIN,你也可以设置为其他路径,记住你的设置。

后面DEFAULT_BOOT_LINE中定义的vxWorks文件路径,就是以HOME为根目录的相对路径。

建议将vxWorks文件复制到HOME目录下面,这样vxWorks文件的路径最短。

  另外,你可以通过Logging>LogOptions…菜单,选中那些可选项目,来观察FTP过程中的问题。

配置好之后,启动FTPServer。

  

3.4配置BSP

配置BSP的工作是通过修改config.h文件完成的。

这一步比较关键。

打开BSPNAME/config.h文件。

在文件的108行左右,会有对不同CPU的DEFAULT_BOOT_LINE定义语句,它描述了引导参数,定义正确之后所制作的BootROM软盘才能正常引导TARGET机子。

根据我们的配置,这里应该修改为:

#elif(CPU==I80486)

#defineDEFAULT_BOOT_LINE\  "elPci(0,0)xmdong:

vxWorks\  h=10.10.0.150e=10.10.0.151u=targetpw=targettn=target"

参数              参数值      描述

Bootdevice                  elPci        3COM3C905B网卡

Processornumber            (0,0)  

Hostname                  xmdong      主机名

Filename                    vxWorks      VxWorksImage文件路径名

Hostinet(h)                10.10.0.150    主机网络接口地址

InetonEthernet(e)          10.10.0.151    目标机网络接口地址

User(u)                      target      FTP用户名

Password(pw)                target      FTP密码

Targetname(tn)              target      目标机名称

  有关引导参数的详细描述,请参考TornadoUser’sGuide之2.5.4Descriptionof

BootParameters。

  BSP中缺省包含了对IntelEtherExpressPRO100网卡的支持,而我们用的是3C905B网卡,因此要去掉原来的定义,添加对我们的网卡的支持:

#undefINCLUDE_FEI

#defineINCLUDE_EL_3C90X_END/*forour3COM3C905BNIC*/

  

3.5新工程

然后在Tornado中新建一个工程。

选择“CreateabootableVxWorksimage”,OK。

  Step1

Name:

Project2

Location:

C:

\Tornado\proj\Project2(以后我们提到PROJECT就是指这个路径)

Workspace:

AddtocurrentWorkspace

  Step2

Wouldyouliketobaseyourprojecton:

ABSP,pc486(也就是我们说的BSPNAME

  Step3

Finish

  

3.6Build工程

在Tornado环境的Workspace窗口中,选中前面新建的工程PROJECT,从鼠标右键弹出菜单中执行ReBuildAll(VxWorks)。

  BuildOutput窗口显示了build的过程。

成功之后,生成PROJECT/default/vxWorks映像文件。

将文件PROJECT/default/vxWorks复制到BIN目录。

因为在前面配置FTP服务器的过程中,我们将BIN目录配置为FTP用户target的HOME目录。

如果你将PROJECT/default目录配置为HOME目录,就可以省去这个复制操作。

  

3.7BootROM

在Tornado菜单中选择Build>BuildBootROM…

  

在弹出对话框中:

SelectaBSP:

pc486

SelectanImagetoBuild:

bootrom_uncmp

OK.

BuildOutput窗口显示了build的过程。

不出意外的话,BSPNAME目录下面会生成bootrom

_uncmp文件。

这里选择bootrom也是可以的,其他的没有试过。

  

3.8制作引导盘

将上一步生成的文件BSPNAME/bootrom_uncmp复制到BIN目录。

开始>运行>cmd,打开一个命令窗口。

进入BIN目录:

C:

\>cdtornado\host\x86-win32\bin

执行mkboot程序:

C:

\…>mkbootA:

bootrom_uncmp

当然别忘了插入一张软盘到HOST的软驱中。

你应该看到

VxSys(c)WindRiverSystems1993,Version1.2

BootsectorinstalledOK.

Copyingbootrom_uncmptoa:

bootrom.sys...

  

3.9引导TARGET

将我们刚才制作的BootROM引导软盘插入TARGET的软驱,启动TARGET,开始引导过程。

如果目标机有显示器,应该看到

VxLd1.2………………

同时,TARGET在读取软盘内容,然后兰屏,出现

                VxWorksSystemBoot

  

  

Copyright1984-1998  WindRiverSystems,Inc.

  

CPU:

PC486

Version:

5.4

BSPversion:

1.2/0

Creationdate:

Dec302002,16:

38:

32

  

Pressanykeytostopauto-boot...

  

7

6

5

  

[VxWorksBoot]:

  

在[VxWorksBoot]:

提示符下,有几个常用的命令:

命令    描述

h或者?

  帮助,显示可用命令列表

@      加载并执行文件,相当于L和G0x108000(config.h中配置的开始执行的缺省值)

P        显示当前引导参数值

C        修改引导参数

L        根据当前引导参数加载文件,但是不执行

Gaddr  从十六进制地址addr开始执行

  

如果配置了串口控制台,VxLd1.2……之后的内容都会在超级终端而不是显示器上面显示。

超级终端观察引导过程:

  

敲入”@”命令下载并运行映像,结果为:

[VxWorksBoot]:

@

  

bootdevice      :

elPci

unitnumber      :

0

processornumber    :

0

hostname        :

xmdong

filename        :

vxWorks

inetonethernet(e):

10.10.0.151

hostinet(h)      :

10.10.0.150

user(u)        :

target

ftppassword(pw)  :

target

flags(f)        :

0x0

targetname(tn)    :

target

  

AttachedTCP/IPinterfacetoelPci0.

Attachingnetworkinterfacelo0...done.

Loading...511328+9984+32480

Startingat0x108000...

  

AttachedTCP/IPinterfacetoelPciunit0

Attachinginterfacelo0...done

  

  

            VxWorks

  

Copyright1984-1998  WindRiverSystems,Inc.

  

        CPU:

PC486

      VxWorks:

5.4

  BSPversion:

1.2/0

  Creationdate:

Dec312002

        WDB:

Ready.

  

  

  

在HOSTFTPServer中可以看到通过网络连接下载映像文件的过程(根据LogOptions的不同,窗口中显示的信息可能有些不同)。

  

3.10TargetSever

选中Tornado菜单Tools>TargetServer>Configure…,出现ConfigureTarget

Servers对话框:

TargetServer:

Configuration1

TargetServerProperties:

BackEnd:

wdbrpc

CoreFileandSymbols:

File“C:

\Tornado\host\x86-win32\bin\vxWorks”

其他属性应该不需要改动。

TargetName/TargetAddress:

target

CommandLine:

tgtsvr.exetarget-V-Bwdbrpc-c

C:

\Tornado\host\x86-win32\bin\vxWorks

OK.

然后再打开ConfigureTargetSevers对话框,

在TargetSever下选中Configuration1,

Launch.

出现target@xmdongLogConsole窗口:

  

3.11Shell

  

在Tornado工具条的下拉列表框中选中target@xmdong,然后用”->i”形状的按钮启动一个shell。

  

4串口控制台

4.1什么是串口控制台

串口控制台(SerialConsole)是指在Host/Target环境中,通过串口终(Terminal)来做TARGET的标准输入/输出控制台。

这样,我们可以完全通过运行于HOST的终端软件来操作TARGET。

串口控制台的好处是显而易见的:

它可以精简TARGET的硬件,不再需要PC的显示卡、显示器、键盘等设备(本地控制台)。

另外,通过终端软件,我们可以更容易地回滚(rollback)查看“滚上去”了的输出信息。

  

4.2配置方法

在BSPNAME/config.h中有这样几句(470行附近):

#ifTRUE

#defineINCLUDE_PC_CONSOLE  /*  KBDandVGAareincluded*/

#endif  /*TRUE/FALSE*/

只需要将TRUE改为FALSE即可,也就是说,去掉INCLUDE_PC_CONSOLE的定义。

因此,不改动上面3句,而是在后面加上这么一句也是同样的效果:

#undefINCLUDE_PC_CONSOLE

除此之外不需要改动什么,但是要注意确认一下BSP中有关串口的设置。

下面列出的是config.h和configAll.h中定义的缺省值,如果你使用不同的串口设置,则要做相应的修改。

#defineNUM_TTY  2/*numberofttychannels*/

#defineCONSOLE_TTY  0/*consolechannel*/

#define  CONSOLE_BAUD_RATE9600/*consolebaudrate*/

CONSOLE_TTY的值为0或者1分别表示TARGET使用COM1或COM2与HOST连接;CONSOLE_BAUD_R

ATE设定了串口的波特率,常用9600bps.

  

4.3终端软件

Windows主机常用的终端软件是“超级终端”,注意配置与目标机串口配置相符,也就是说,波特率应该是9600bps,其他配置一般为8位数据位,1位停止位,无校验位(通常表示为8-N-1)。

  

另外,“ASCII码设置”对话框一般采用如下设置。

  

在这种配置下,目标机引导过程中我们可以判断串口是否已经连通:

在超级终端串口中敲入一串回车,如果光标有换行,说明串口已经通了;如果光标纹丝不动,则串口还没有通,检查一下串口设置、串口直连电缆(2、3引脚交叉,5对接即可)。

  

4.4几点说明

我们这里配置的串口是为了使用serialconsole,请不要与串口连接的调试弄混。

文档中这样配置的环境为,软盘引导目标机,网络连接下载映像,网络连接下载模块,网络连接调试,串口控制台。

如果使用串口进行下载、调试,那么前面讲的很多设置都要更改(很多与WDB_?

?

?

有关),此处不再赘述。

  据说(未证实),使用串口控制台应该不需要对缺省的BSP做任何改动,BOOTROM引导时,输出信息会首先送到目标机的本地控制台(显示器),串口配置生效之后,如果串口上面有输入(比如在终端软件中敲几个回车——当然,这里的前提是串口本身配置正确,是可以通的),则目标机的输出会重定向给串口,这时就会在串口终端看到引导信息,同时目标机本地控制台失效。

听起来这是比较合理的实现方法,不幸的是我们遇到的情况并非如此。

在去掉INCLUDE_PC_CONSOLE的定义之前,我们不能在串口上得到任何输出。

之前曾使用各种方法测试了串口,花费了不少时间,最终得到这个结果,因此我们专门用一章来描述串口控制台的配置。

产生这种情况有可能是我们的配置仍然不对造成的,也有可能是我们的软件有问题。

(END)  

补充:

1、

发信人:

hustlh(两只流着泪的爱情鱼),信区:

Embedded

标  题:

Re:

打通VxWorks调试环境StepbyStep

发信站:

武汉白云黄鹤站(2002年12月31日20:

54:

59星期二),站内信件

…………

根据自己的经验做点补充点,希望对大家有点帮助:

1.做target启动盘的时候,

(1).对于vxworks默认不支持的网卡类型

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1