VxWorks调试环境构建全过程_百度文库_第1页
VxWorks调试环境构建全过程_百度文库_第2页
VxWorks调试环境构建全过程_百度文库_第3页
VxWorks调试环境构建全过程_百度文库_第4页
VxWorks调试环境构建全过程_百度文库_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VxWorks 调试环境构建全过程设定VxWorks开发环境如下:宿主机端(Host:普通PC机一台;Tornado2.0 IDE;BSP为x86 Pentium3架构。目标机(Target: x86 Pentium3 CPU, 网卡为intel8255x系列(标识:fei。主机和目标机通过网线连接,制作步骤详述如下(为了图文一致,以下假设目标机BSP文件夹名为:pcPentium:1 .修改配置文件我们要修改编译VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求。(1定位到目录C:tornado2.2targetconfi

2、gpcPentium并打开该目录下Config.h文件;(2查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU = PENTIUM3分支下的定义如下:#define DEFAULT_BOOT_LINE 其中: fei(0,0指定了使用第0个网卡和第0个处理器,fei这个标识代表intel8255x系列100M网卡,若目标机为intel8255x系列网卡,则标识为gei; host指定你的主机的名字,使用host就可以; vxWorks指定了VxWorks映象下载的完整路径(后面会有说明; 是宿主机的IP地址,可以根据实际情况修改; 是目标机的IP地址,可以根据实际情况修

3、改; u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks映象的; pw=target是FTP服务器与用户名target对应的密码; tn=target指定目标机的名字,任意指定即可。(3指定网卡驱动程序首先定位到“Network driver options”这段文字,保证INCLUDE_END和INCLUDE_FEI_END这两个宏处于定义状态(define,其他的宏都处于未定义状态(undef,即:以下为引用的内容:/* Network driver options */#define INCLUDE_END /* Enhanced Network Drive

4、r Support */#undef INCLUDE_DEC21X40_END /* (END DEC 21x4x PCI interface */#undef INCLUDE_EL_3C90X_END /* (END 3Com Fast EtherLink XL PCI */#undef INCLUDE_ELT_3C509_END /* (END 3Com EtherLink III interface */#undef INCLUDE_ENE_END /* (END Eagle/Novell NE2000 interface */#define INCLUDE_FEI_END /* (EN

5、D Intel 82557/8/9 PCI interface */#undef INCLUDE_GEI8254X_END /* (END Intel 82543/82544 PCI interface */#undef INCLUDE_LN_97X_END /* (END AMD 79C97x PCI interface */#undef INCLUDE_ULTRA_END /* (END SMC Elite16 Ultra interface */(4包含PC_CONSOLE缺省情况下,VxWorks系统是不接受外部输入设备(如键盘的输入,也不向外部输出设备(如显示器输出数据。为了便于调试

6、,我们必须改变它的这种缺省状态,包含对PC控制台的支持。查找定位宏INCLUDE_PC_CONSOLE,保证其处于定义状态(define即可,即:以下为引用的内容:#define INCLUDE_PC_CONSOLE /* PC keyboard and VGA console */#ifdef INCLUDE_PC_CONSOLE# define PC_CONSOLE (0 /* console number */# define N_VIRTUAL_CONSOLES (2 /* shell / application */#endif /* INCLUDE_PC_CONSOLE */2.

7、编译Bootrom和VxWorks映像编译Bootrom打开Tornado开发工具,在Build菜单下选择Build Boot ROM,选择BSP为pcPentium(目标机的BSP名称,image类型为bootrom,工具为gnu,如图8。点击OK,Bootrom就会编译。 编译VxWorks映像编译生成bootrom后,还要创建一个VxWorks映象(image,也就是VxWorks操作系统本身的代码,步骤为:(1 创建一个“bootable VxWorks image”的工程,BSP 选择pentium(目标机BSP名称; (2 选择需要的VxWorks组件如图10,

8、在这个例子中我们需要包括两个重要的组件:Telnet server 和 Target shell。前者使我们可以通过Telnet协议登录到VxWorks操作系统中;后者则可以让我们通过命令行控制VxWorks系统。另外,需要把所有 C+相关的选项都包含进去。 完成选择后,即可开始编译程序。到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。在每次修改完系统的配置信息(如: config.h后,都要重新创建一个工程来编译VxWorks映象。将生成的名为“vxworks”的文件复制到D:(这个目录任意选择,但是要和FTP服务器下的目录保持一致,后续说明下。3. 创建引导软盘

9、由于目标机从软盘启动,我们需要制作VxWorks引导磁盘,用于引导VxWorks操作系统映象。3.1 MS-DOS控制台,定位到 C:Tornado2.2hostx86-win32bin目录,运行torvars;3.2 定位到C:tornado2.2targetconfigpcPentium目录,插入已经格式化好的软盘,运行:mkboot a: bootrom该命令将在软盘上建立VxWorks系统引导分区,并将引导程序复制到软盘上,至此,用软盘引导VxWorks映像的步骤已做完,若要用硬盘引导并加载VxWorks映像,则还需要以下步骤:1)准备一张软盘,软盘为dos622系统盘,包含fdisk

10、.exe, 、(位于C:Tornado2.2hostx86-win32bin目录,拷贝到软盘上;2)用dos622系统盘(fdisk命令为硬盘建立一个主DOS分区,文件格式为fat16;3)格式化硬盘分区(如:format c:,重起目标机,再次进dos622环境;4)执行vxsys c:,拷贝bootrom.sys(位于前面做bootrom的软盘中和VxWorks映像到硬盘上,拷贝过程中要保证文件的连续性。至此,硬盘引导加载VxWorks映像已经制作完毕。4. 建立调试环境4.1配置FTP服务器宿主机上的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象,最好使用Tornado

11、开发环境自带的FTP服务软件。 如图11,打开Tornado FTP Server,选择“Security”菜单下的“Users/Rights”子菜单,创建User Name为“target”,修改“Home Directory”为“D:”(即VxWorks映像目录,修改用户名为“target”,对应密码为“target”,点击“Done”按钮完成修改,FTP服务就启动了。为了便于观察引导程序是否从FTP上下载了VxWorks映像,最好打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,其中除了“Winsock Calls”外,

12、让其他选项全都处于开启状态。保持FTP Server窗口处于打开状态,即保证FTP服务器处于运行状态。若从软盘启动,需要把BIOS启动顺序设成软驱优先,接下来重起目标机,会下载服务器上的D:vxworks映像,服务器的FTP会有相关的log,如图12: 图12 FTP服务器 若从硬盘启动,则需要修改引导信息,如下:引导设备:fei0 改成 ata=1,0(当硬盘位于IDE1,Master位置时,当硬盘位于IDE0,Master位置时,则改成ata=0,0。由此类推,硬盘位置从BIOS可以看出。 VxWorks映像路径:vxWorks改成/ata0a/vxWorks,或者/ata0/v

13、xWorks,执行h命令可以看出是”/ata0”还是”/ata0a”.4.2 配置target server图13 配置Target Server完成以上两项配置,如果目标机已经启动,点击“Launch”按钮,就可以启动Target Server了。试一试,我们打开TShell,并运行“i”命令察看目标机上当前运行的任务,效果如图14: 图14 在TShell中运行命令5. 编写和调试应用程序现在,编写应用程序的所有条件已经完全具备了。我们来编写一个简单的应用。如图15,建立一个名为“test”的可下载的应用程序模块:图15建立可下载的应用程序模块如图16,注意工具链的选择,应该为PENTIUMgnu:图16 选择PENTIUMgnu工具链这个时候工程中还一个文件都没有,我们编写一个简单的程序:以下为引用的内容:#includevoid test(voidint i = 0;while(1printf ("%dt",i;i+;if(i=10000break;编译生成了test.out,下载到目标板,在TShell

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论