Vxworks和Linux系统这2者的区别是什么呢?

Vxworks和Linux系统这2者的区别是什么呢?,第1张

1VxWorks 是美国 Wind River System 公司( 以下简称风河 公司 ,即 WRS 公司)推出的一个实时 *** 作系统。Tornado 是WRS 公司推出的一套实时 *** 作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、仿真环境和工具。
嵌入式Vxworks系统的主要应用领域主要有以下几方面: 1数据网络:如:以太网交换机、路由器、远程接入服务器等 2远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统等 3医疗设备:如:放射理疗设备 4消费电子:如:个人数字助理等 5交通运输:如:导航系统、高速火车控制系统等 6工业:如:机器人 7航空航天:如:卫星跟踪系统 8多媒体:如:电视会议设备 9计算机外围设备:如:X终端、I/O 系统等 总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。
2Linux是一类Unix计算机 *** 作系统的统称。Linux *** 作系统的内核的名字也是“Linux”。Linux *** 作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的 *** 作系统。Linux得名于计算机业余爱好者Linus Torvalds。
Linux的应用
过去,Linux主要被用作服务器的 *** 作系统,因为它的廉价、灵活性及Unix背景。传统上,以Linux为基础的“LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”技术,除了已在开发者群体中广泛流行,它亦是现时提供网站服务供应商最常使用的平台。 基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及移动装置等。在移动电话上,Linux已经成为Symbian OS的主要竞争者;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数码摄影机使用了经过客制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了 *** 作系统提供的防火墙及路由功能。 采用Linux的超级电脑亦愈来愈多,根据2008年11月的TOP500超级电脑列表,现时世上最快速的超级电脑使用Linux作为其 *** 作系统。而在表列的500套系统里,采用Linux为 *** 作系统的,占了439组(即878%)。 2006年开始发售的SONY PlayStation 3亦可使用Linux的 *** 作系统,它有一个能使其成为一个桌面系统的Yellow Dog Linux。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。Ubuntu自904版本,恢复了PPC支持(包括PlayStation 3)。 而随着OLPC的XO-1,华硕的Eee PC等低价电脑的推行,许多人乐观的认为在低端PC市场,linux的市场占有率正在快速的增长。但在Windows进入此一市场后,Linux的市占率快速下滑。现在Windows系统在所有的PC市场中,都占有绝对优势。

vxworks 使用说明书3(转)
serf 于 2002/04/12 10:29 加贴在 嵌入式系统论坛
5、使用步骤
使用Tornado集成环境一般需要经过以下步骤:
焈 运行TCP/IP端口管理器Portmapper(portmapexe)
焈 运行注册器Tornado Registry(wtxregdexe)。如果使用的是试用版,注意是否注册成功,是否修改了日期
焈 运行并配置Ftp Server(wtfpd32exe)。点击菜单命令Security | Users | rightsd出配置窗口,点击New User,在New Userd出窗口加入需要加入的用户名(注意:要与目标机bootrom或启动软盘设置一致),在改变密码d出窗口设置该用户的密码(注意:要与目标机bootrom或启动软盘设置一致),在Home Directory中设置相应的目录,MCP750为c:\tornado\target\config\mcp750,MCPN750为c:\tornado\target \config\mcpn750,X86为c:\tornado\target\config\pc486 ,配置结束。
焈 目标板上电或复位
焈 在控制台(MCP750/MCPN750为超级终端,X86为目标机显示器)上可以看到启动信息。如果需要修改,在等待用户配置时,按c键,进行相应修改。(注意:配置信息要与主机配置、Ftp服务器配置一致),修改结束后,按@键重新启动目标机。
焈 运行Tornado(tornadoexe)
焈 执行菜单命令Tools | Target Server | Configure,d出目标服务器设置对话框,点击New产生一个新的配置。设置Description域(可以任意设置);设置Target Server域(可以任意设置);在Change Property域选取Back End项(该项设置主机与目标机如何连接,缺省为网口连接,如果使用串口连接,需要修改configallh文件,重新编译链接VxWorks映象),如果使用网口调试,选择wdbrpc,在目标IP名或地址域中给出目标机的IP名或地址(建议给出IP名,因为这样会快得多),如果给出的是IP名,需要在HOSTS文件中给出IP名与IP地址的对应关系,如果用串口调试,选择wdbserial,选择相应的串口和波特率(注意:此处的串口是指主机的串口不是目标机的串口);在Change Property域选取Core File and Symbols项,选中File项输入相应的文件(MCP750c:\tornado\target\config\mcp750\vxWorks,MCPN750为c:\tornado\target \config\mcpn750\vxWorks,在X86平台上为c:\tornado\target\config\pc486\vxWorks),点击Launch,运行目标服务器。
焈 执行菜单命令File | New 创建一个新的文件,并打开编辑器Editor(该编辑器功能不是很强大,可以使用其它编辑器如Source Insight)。
焈 单独编译生成的源文件,生成目标文件(o),编译连接过程的详细介绍请见后面。
焈 选取相应的目标服务器。
焈 执行菜单命令Tools | Debugger运行调试器。
焈 执行菜单命令Debug | Download下载要调试的目标文件(o)
焈 在Editor窗口设置断点。
焈 执行菜单命令Debug | Rund出对话框,要求输入调试入口函数,输入要调试的函数。
焈 进行源码级调试
焈 执行菜单命令Tools | Shell运行Shell。可以在Shell窗口查看/修改全局变量、内存,查看任务列表、各模块使用内存的情况、对象(如任务、队列、信号量、定时器、内存分区)等信息。
焈 执行菜单命令Tools | Browser运行Browser。在Browser中可以查看任务列表、各模块使用内存的情况、对象(如任务、队列、信号量、定时器、内存分区)等信息。
6、编译链接
VxWorks的开发调试环境可以把VxWorks内核和应用分开,分别加载。 VxWorks内核在目标机启动过程中通过ftp协议加载到目标机中运行,应用模块在调试中动态下载,目标代理把下载的应用模块动态链接到系统中,应用模块的调试是通过在用户执行运行命令时提供入口函数实现的。这样做的好处是需要调试哪个模块就下载那个模块调试,不需下载其它模块,前期调试一般使用这种编译方式。
VxWorks的开发调试环境也提供把应用模块与系统内核链接在一起,通过ftp协议加载执行。这需要经过两个步骤:把应用模块的入口代码加到usrConfigc文件中的usrRoot函数的尾部;把应用模块编译链接到VxWorks内核中,这种编译链接方式一般用于后期调试。
下面分类对编译链接进行介绍
61 单个应用模块的编译
单个应用模块的编译可以通过使用菜单命令Project | Make Current Source File进行编译,要编译的源文件必须已经用Editor打开并且为当前窗口。如果要编译的源文件所在目录没有makefile文件,系统会提示创建一个新的makefile文件,确定。在d出的创建缺省makefile窗口的CPU域选择相应的项(MCP750/MCPN750选择PPC604,X86选择I80486),在ADDED_FLAGS域输入-g,确定。系统对源文件进行编译,生成目标文件(o)。生成的目标文件在Debugger环境中动态加载,与内核动态链接到一起。
62 系统内核vxWorks的编译链接
系统内核vxWorks是调试中使用最多的内核映象。它被通过Ftp协议从主机加载到目标机中。它的作用通常是进行软硬件初始化,等待加载应用模块,进行程序调试。
在Project菜单下,选择相应硬件平台的生成vxWorks的命令,进行编译链接。在编译链接之前先使用clean命令删除以前生成的文件。
63 应用模块与系统内核一起编译链接
VxWorks的开发调试环境也提供把应用模块与系统内核链接在一起,通过Ftp协议加载,vxWorks内核自动执行应用模块。这需要经过两个步骤:把应用模块的入口代码加到usrConfigc文件中的usrRoot函数的尾部;在makefile中把待生成的应用模块的目标文件名加到宏定义MACH_EXTRA中,再把相应的编译规则加到makefile中。编译链接生成vxWorks映象。
64 Project菜单下其它编译链接命令介绍
vxWorks_rom :可以写到ROM的、没有带符号表和Shell的、没有压缩的vxWorks。
vxWorksst :带有符号表的vxWorks。
vxWorksst_rom:可以写到ROM的、带有符号表和Shell的、压缩的vxWorks。
vxWorksres_rom :可以写到ROM的、带有符号表和Shell的、只有数据段拷贝到内存的、没有压缩的vxWorks。
vxWorksres_rom_nosym:可以写到ROM的、只有数据段拷贝到内存的、没有压缩的vxWorks。
bootrom:压缩的 bootrom
bootrom_uncmp:没有压缩的bootrom

给个最简单的方法:
在目标机中建立一个FTP服务器(往上搜索一下,配置几个组件就可以了),把仿真数据存成文件放到FTP能够访问到的目录。
主机端安装一个WS_FTP软件,用WS_FTP连接目标机FTP服务器, *** 作方法类似于CuteFTP,把仿真数据文件拉过来就好了,WS_FTP界面友好、使用简便,兼容性是最棒的,一定好用。

准备工作
我们假设您有一台普通配置的PC机,并安装了Windows2000 *** 作系统。其次您需要安装Tornado 22 for pcPentium开发环境。缺省安装的Tornado 22 for pcPentium可能不包括pcPentium的BSP组件,但该组件可以从风河公司(Windriver)的网站免费下载。
我们将在下文以WIND_BASE引用Tornado的安装路径。
其次是要安装VMWare软件,这里我们使用40的版本。如果您还没有该软件,也可以从VMWare的网站下载试用版。
最后,由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD的PC-NET网卡的VxWorks系统驱动,可以从AMD网站免费下载。
一张144M的软盘,用于制作系统引导盘。
准备并安装好以上软件后,就可以开始下一步的工作了。
开始安装
编译网卡驱动程序
VMWare为运行于其上的 *** 作系统提供虚拟网卡支持,该网卡类型即为AMD的PC-NET。实际上,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过测试,对于VMWare无法正常工作,所以您需要从AMD的网站下载最新的驱动程序。
下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到Tornado目录下。如果提示是否允许覆盖文件,则选择允许。
此后按如下步骤完成驱动程序的编译和替换:
打开一个控制台窗口,运行批处理程序:$(WIND_BASE)\host\x86-win32\bin\ torVarsbat;
重新定位到$(WIND_BASE)\target\src\drv\end目录,运行:
make CPU=PENTIUM tool=gnu ln97xendo
其间会产生一些警告,但这不会影响我们的工作。
重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xendo复制到此目录下。备份此目录下的文件libdrva;
运行命令arpentium -d libdrva ln97xEndo,删除libdrva中原有的ln97xEnd模块,然后再运行命令:
arpentium -ra iOlicomEndo libdrva ln97xEndo
将我们刚刚创建的新模块添加进去。
到此有关网卡驱动的设置就完成了。注意不要关闭这个窗口,后面还要使用。

修改配置文件
在这一节中,我们要修改编译VxWorks的配置头文件Configh中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEndc这个文件,以使系统的网络功能正常运行。
定位目录到$(WIND_BASE)\target\config\pcPentium并打开该目录下Configh文件;
我们首先要修改VxWorks的启动参数。先查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM分支下的定义如下:
#define DEFAULT_BOOT_LINE \
"lnPci(0,0)your_host_name:d:\\vxWorks h=19216880169 e=19216880254 u=target pw=vxworks tn=target"
其中:
lnPci(0,0)指定了使用第0个网卡和第0个处理器,lnPci这个标识会因为使用的驱动程序不同而有所不同,但这里用lnPci就可以了;
your_host_name指定您的主机的名字,使用Windows系统的主机名就可以;
d:\\vxWorks指定了VxWorks映象下载的完整路径;
h=19216880169是主机的IP地址,就是您当前正在使用的系统的IP地址;
e=19216880254是目标机的IP地址,也就是未来VxWorks *** 作系统的IP地址,您只要任意指定一个不冲突的IP地址即可,这里我们假设您的目标机IP地址和主机IP地址在同一个网段内;
u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks映象的,后面还会提到;
pw=vxwroks是用户名对应的口令;
tn=target指定目标机的名字,任意指定即可;
您可以参考Tornado自带的手册以获取更多信息;
下面我们要指定使用什么样的网卡驱动程序。首先查找“Network driver options”这段文字,之后您可以看到在该注释后面定义了一系列的有关网卡驱动的宏定义。注意保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef);
缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态。我们查找定位宏INCLUDE_PC_CONSOLE,然后保证其处于定义状态(define)即可;
到此为止,对configh文件的修改就完成了,保存修改,然后再打开同一目录下的sysLn97xEndc文件;
这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit]bar[1]修改为NONE,这样就可以了。最后别忘了保存。
到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。

编译程序
这一节我们要编译生成bootrom引导程序和VxWorks运行映象。
打开您的Tornado开发工具,在Build菜单下选择Build Boot ROM,d出如下对话框:

在BSP列表中选择pcPentium,而在Image to build列表中分别选择bootrom和gnu。完成选择后,点击OK按钮就开始引导程序的编译了。编译产生的文件bootrom将保存在$(WIND_BASE)\target\config\pcPentium目录下。
编译生成bootrom后,还要创建一个VxWorks映象(image),也就是VxWorks *** 作系统本身的代码。
创建一个“bootable VxWorks image”的工程;
选择您需要的VxWorks组件。这一步是可选的,如果您只想使用缺省的配置,那根本就不需要这一步;但如果您想使用额外的组件,例如,您可能想通过telnet连接VxWorks系统,这时就需要在Workspace窗口的VxWorks选项卡中选择telnet sever对应的组件,如下图:
在这个例子中我们选择了两个重要的组件:Telnet server 和 Target shell 。前者使我们可以通过Telnet协议登录到VxWorks *** 作系统中;后者则可以让我们通过命令行控制VxWorks系统。
完成选择后,即可开始编译程序;

到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。这里还要提醒读者,在您每次修改完系统的配置信息(如:configh)后,都要重新创建一个工程来编译VxWorks映象,以免出现代码不一致的问题。
将生成的名为“vxworks”的文件复制到D盘根目录下。这个路径是由上面我们所设置的DEFAULT_BOOT_LINE宏中的路径参数决定的,必须保持二者一致。
制作引导磁盘
现在开始制作VxWorks系统引导磁盘,用于引导装载VxWorks运行映象。
我们回到“编译网卡驱动程序”一节中所打开的控制台窗口,定位目录到$(WIND_BASE)\target\config\pcPentium,插入您已经格式化好的软盘,然后运行:
mkboot a: bootrom
该命令将在软盘上建立VxWorks系统引导分区,并将引导程序复制到软盘上。
这里再额外向您介绍一个虚拟软盘的工具:RamDiskNT,它可以在内存中建立一个虚拟的软盘,对于提高VxWorks的启动速度有很大帮助。

配置FTP服务器
这里的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象。我们这里使用Tornado开发环境自带的FTP服务器。
打开Tornado FTP Server,选择“Security”菜单下的“Users/Rights”子菜单,d出如下对话框:
当User Name为“target”时,修改“Home Directory”为D盘根目录(此路径由上面的DEFAULT_BOOT_LINE参数决定),同时修改口令为“vxworks”,最后点击“Done”按钮完成修改;
为了便于调试,我们还要打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,d出如下对话框,其中除了“Winsock Calls”外,让其他选项全都处于开启状态。
保持FTP Server窗口处于打开状态(这样FTP服务器就处于运行状态)。

创建VxWorks系统
打开您的VMWare Workstation,在File->New菜单下选择创建一个新的虚拟机(Virtual Machine),按照其向导帮助,完成虚拟机的配置。在选择 *** 作系统类型时,选择“Other”,其余选项均使用缺省值就可以了。
完成以上配置后,点击右侧窗口中的“Start this virtual machine”,系统即开始引导运行,如下图所示:
在引导过程中,您会遇到一个7秒钟的等待,以决定是使用缺省的引导参数,还是手动输入引导参数。这里我们选择前者,所以不需要做任何工作。
成功引导后,系统会自动从FTP Server下载映象,并开始运行,得到如下画面:


到此,我们已经成功的在VMWare上安装了VxWorks *** 作系统。
需要注意的是,上面的画面会因为选择组件的不同而略微有所不同(例如,如果您没有选择target shell,就不会出现命令行提示符),但一般不会影响后续 *** 作。
配置联机调试环境
装好系统后,您肯定还希望将自己编写的应用程序下载到目标机进行调试,下面我们就完成这一部分的配置工作。
打开您的Tornado开发环境,选择“Tools->Target Server->Configure”菜单,d出如下对话框:
在“Description”中任意填写一个名字,这里是“net00”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“19216880254”(由DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一项中选择您的映象的完整路径,这里是“D:\vxWorks”(由DEFAULT_BOOT_LINE参数决定)。
完成以上两项配置,点击“Launch”按钮,就可以启动Target Server了。
再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择“19216880254@your_host_name”。这时您会发现工具条中一些原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。
现在您就可以开始联机调试您的VxWorks应用程序了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13434528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存