版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何在vxworks系统启动后自动执行用户程序本文给出了一个简单的例子,在vxworks启动完成后,自动启动用户程序demo()和welcome。,在屏幕上打印出欢迎信息。运行效果如下:j j j j j j j j j j j j j j jj j j j j j j jn11mi jn lininilinn 1urm mi111 j j JJJ1 1 J1 J11ij j j11 11 11 jj ii jJi11jj)JJU)J Jj j inJ111j 111 1 JI 1 11 J J J 111JiJ111Hlj i 1j11jj 1 j j 11JJ1 iijijjj)jjj j
2、 ii 1 jjjjjjj ijjjjj iUeuelopMentSysleMi jj 111 jj111jj111jjjjij j i UxUorks vers ion 5.511J J111 J J 11J JH 1J J J J11J JKERNEL: MIND version Z.6Cnpyrigflit MindR iuerSjIK-tens.Inc., 1394-2002CPU: PC PEHTIUH.Processor#0MeMory Size: 0xf f00908 LBSFversion 1.23xUDBComm Type: UDB_COMMENDUDB:Readp ueIc
3、oMe to suchengping1s vxworks”怔册*住怔苔* 兴耳牺百t寸t *決舄"* MrHO Lc OTte->概述VxWorks是风河公司(Win driver )开发的实时操作系统之一,以其优秀的可靠性、实时性 及内核的可裁减性,被广泛应用于通信、军事、航天、航空等关键行业领域。VxWorks 可以适用于多种硬件体系结构,其中也包括大家日常都可以接触到的PC体系结构。VMWare是被广泛应用虚拟 PC系统软件,他可以提供基于Inetl CPU 的虚拟PC系统环境,包括CPU BIOS硬盘和其他外围硬件设备,使您可以在一台PC机上同时运行两个操作系统。VMW
4、are对外围硬件设备的模拟,屏蔽了不同设备型号的差异,在硬件环境发生改变时(硬件型号变化),对于运行于 VMWare上的操作系统影响很小(无须安装新的驱动程序)。本文以下部分将介绍如何在VMWare软件提供的虚拟环境上安装VxWorks操作系统。由于可以在同一台PC机上建立完整VxWorks开发环境,所以可以有效地降低项目初期的开发成本, 也可以为初学者提供一个接近于真实的模拟环境。需要注意的是,由于 VMWare本身是运行在 Windows操作系统之上的,而 VxWorks运行于 VMWare之上,所以这个模拟环境无法保证VxWorks的实时特性。准备工作我们假设您有一台普通配置的PC机,并
5、安装了 Windows2000操作系统。其次您需要安装Tornado 2.2 for pcPe ntium开发环境。缺省安装的Tornado 2.2 for pcPe ntium可能不包括pcPe ntium的BSP组件,但该组件可以从风河公司(Win driver )的网站免费下载。我们将在下文以 WIND_BAS引用Tornado的安装路径。其次是要安装 VMWare软件,这里我们使用 4.0的版本。如果您还没有该软件,也可以从 VMWare的网站下载试用版。最后,由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD勺PC-NET网卡的VxWorks系统驱动,可以从 AM
6、D网站免费下载。一张1.44M的软盘,用于制作系统引导盘。准备并安装好以上软件后,就可以开始下一步的工作了。开始安装编译网卡驱动程序VMWare为运行于其上的操作系统提供虚拟网卡支持,该网卡类型即为AMD勺PC-NET实际上,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过测试,对于VMWare无法正常工作,所以您需要从 AMD勺网站下载最新的驱动程序。下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到 Tornado目录下。如果提示是否允许覆盖文件, 则选择 允许。此后按如下步骤完成驱动程序的编译和替换:打开一个控制
7、台窗口,运行批处理程序:$(WIND_BASE)hostx86-wi n32bi n torVars.bat;重新定位到 $(WIND_BASE)targetsrcdrvend目录,运行:make CPU=PENTIUM tool=g nu In 97xe nd.o其间会产生一些警告,但这不会影响我们的工作。重新定位到 $(WIND_BASE)targetlibpentiumPENTIUMcommon目录,并将上一步生成的文件In97xend.o复制到此目录下。备份此目录下的文件 libdrv.a ;运行命令 arpentium -d libdrv.a In97xEnd.o ,删除 libdr
8、v.a 中原有的 In97xEnd 模块, 然后再运行命令:arpentium -ra iOlicomEnd.o libdrv.a In97xEnd.o将我们刚刚创建的新模块添加进去。到此有关网卡驱动的设置就完成了。注意不要关闭这个窗口,后面还要使用。修改配置文件在这一节中,我们要修改编译VxWorks的配置头文件 Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改 sysLn97xEnd.c这个文件,以使系统的网络功能正常运行。定位目录到 $(WIND_BASE)targetconfig'pcPentium并打开该目录下 Co
9、nfig.h 文件;我们首先要修改 VxWorks的启动参数。先查找到定义DEFAULT_BOOT_LIN宏的地方,修改预 处理条件 CPU = PENTIUM分支下的定义如下:#defi ne DEFAULT_BOOT_LINE "In Pci(0,0)your_host_ name:d:vxWorksh=69 e=54 u=targetpw=vxworks tn=target"其中:In Pci(0,0)指定了使用第 0个网卡和第0个处理器,In Pci这个标识会因为使用的驱动程序 不同而有所不同,但这里用lnPci就可以
10、了;your_host_name指定您的主机的名字,使用Windows系统的主机名就可以;d:vxWorks 指定了 VxWorks映象下载的完整路径;h=69 是主机的IP地址,就是您当前正在使用的系统的IP地址;e=54 是目标机的IP地址,也就是未来 VxWorks操作系统的IP地址,您只要 任意指定一个不冲突的IP地址即可,这里我们假设您的目标机IP地址和主机IP地址在同一个网段内;u=target指定了 FTP服务器的用户名,这个 FTP就是用来下载 VxWorks映象的,后面还会 提到;pw=vxwroks是用户名对应的口令;tn=t
11、arget 指定目标机的名字,任意指定即可;您可以参考Tornado自带的手册以获取更多信息;下面我们要指定使用什么样的网卡驱动程序。首先查找"Network driver options ”这段文字,之后您可以看到在该注释后面定义了一系列的有关网卡驱动的宏定义。注意保证INCLUDE_EN和INCLUDE_LN_97X_EN这两个宏处于定义状态(define ),其他的宏都处于 未定义状态(undef);缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态。我们查找定位宏 INCLUD
12、E_PC_CONSO然后保证其处于定义状态(define )即可;到此为止,对con fig.h文件的修改就完成了,保存修改,然后再打开同一目录下的sysLn97xEnd.c 文件;这一步修改的目的是要使网卡正常工作。我们先定位到"memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrcendUnit.bar1修改为 NONE这样就可以了。 最后别忘了保存。到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。编译程序这一节我们要编译生成 bootrom引导程序和VxWorks运行映象。打开您的Tornado开发工具,在 Build菜单下选择
13、Build Boot ROM,弹出如下对话框:在BSP列表中选择 pcPentium,而在Image to build 列表中分别选择 bootrom和gnu。完成 选择后,点击 OK按钮就开始引导程序的编译了。编译产生的文件bootrom将保存在$(WIND_BASE)targetco nfig'pcPe ntium目录下。编译生成bootrom后,还要创建一个 VxWorks映象(image),也就是 VxWorks操作系统本 身的代码。创建一个"bootable VxWorks image ”的工程;选择您需要的VxWorks组件。这一步是可选的,如果您只想使用缺省的配
14、置,那根本就不需 要这一步;但如果您想使用额外的组件,例如,您可能想通过tel net连接VxWorks系统,这时就需要在 Workspace窗口的VxWorks选项卡中选择telnet sever对应的组件,如下图:+Berkeley Packet Filter DriverDHCP relav agentDHCP serverDHCPvA rundme clientDNS resoberPING clientRLOGIN serverRLOGIN/TELNET password protectionSNTP clientSNTP servernetwork applicationsTehe
15、l serverH Workspace: Work spaced MIB2 components 昏 proxy ARP ervice network debuggingfl network Hlesjrstems +1 network routing protocol: l+ networking APIs:+當 obsolete componentsFil辭 丫劇気|在这个例子中我们选择了两个重要的组件:Tel netserver和Target shell 。前者使我们可以通过 Telnet协议登录到 VxWorks操作系统中;后者则可以让我们通过命令行控制 VxWorks 系统。完成选择
16、后,即可开始编译程序;到此我们已经生成了 VxWorks的系统引导程序和运行时的代码映象。这里还要提醒读者,在您每次修改完系统的配置信息(如:config.h )后,都要重新创建一个工程来编译VxWorks映象,以免出现代码不一致的问题。将生成的名为"vxworks ”的文件复制到 D盘根目录下。这个路径是由上面我们所设置的 DEFAULT_BOOT_LIN宏中的路径参数决定的,必须保持二者一致。制作引导磁盘现在开始制作 VxWorks系统引导磁盘,用于引导装载VxWorks运行映象。我们回到“编译网卡驱动程序” 一节中所打开的控制台窗口,定位目录到 $(WIND_BASE)targ
17、etco nfig'pcPe ntium ,插入您已经格式化好的软盘,然后运行:mkboot a: bootrom该命令将在软盘上建立 VxWorks系统引导分区,并将引导程序复制到软盘上。这里再额外向您介绍一个虚拟软盘的工具:RamDiskNT它可以在内存中建立一个虚拟的软盘,对于提高VxWorks的启动速度有很大帮助。配置FTP服务器这里的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象。我们这里使用Tornado开发环境自带的FTP服务器。打开 Tornado FTP Server,选择"Security ”菜单下的"Users/Rights
18、”子菜单,弹出如 下对话框:当User Name为"target ”时,修改"Home Directory ”为 D盘根目录(此路径由上面的 DEFAULT_BOOT_LIN参数决定),同时修改口令为“ vxworks”,最后点击“ Done”按钮完 成修改;为了便于调试,我们还要打开FTPServer的日志功能。选择“ Logging ”菜单下的“ Logging Opti ons ”子菜单,弹出如下对话框,其中除了“ Win sock Calls ”外,让其他选项全都处于 开启状态。保持FTP Server窗口处于打开状态(这样FTP服务器就处于运行状态)。创建VxWo
19、rks系统打开您的 VMWare Workstation,在 File->New 菜单下选择创建一个新的虚拟机(Virtual Machine),按照其向导帮助,完成虚拟机的配置。 在选择操作系统类型时, 选择“ Other” 其余选项均使用缺省值就可以了。完成以上配置后,点击右侧窗口中的“ Start this virtualmachi ne”,系统即开始引导运行,如下图所示:UxUlorks SsteM BootCopyright 1984-2082 Uind K iver Syst eMS, Inc.CPU: PC PENTIUMUers ion: UxMorksS.5BSP ue
20、rsion: 1.2/3Great ion date: Dec 26 2HH33 IS:54:260x2dd0d4 (tBoot)1 ssNvflaMGet: open failedPresskey to stop auto-boot .4在引导过程中,您会遇到一个7秒钟的等待,以决定是使用缺省的引导参数,还是手动输入引导参数。这里我们选择前者,所以不需要做任何工作。成功引导后,系统会自动从FTP Server下载映象,并开始运行,得到如下画面:I jimmimi Jiiinunin ju mi jinjII jiii mi 11 in 11mill ji innn u 1 h ii)ii m
21、 in m11liltCR)1mujiHiinn1) J)¥num njmnmi 1iinn)1)nm tin iiim inni ?i inj Ji mi1MIT】)11 H )n】打】inn11tn) nn1)1)1171 minmJHJJJnn1nuininn1HJJ】mu jJim?i Hi Jiii j3)miJi jh mmiinnnih ii inuJI j iHiniin)JHl11 Hni !ni J H)HiJ)3MJ IJ1in imiJunjleve I opnent Syst rmnnunni mi Ji u j um Ji )n n)j m)i)j i m
22、)j)i)ni);)jUxUurks vers Lon 5.5KE冊EL; UIHQ vers2.KCopir ight Mind River Systens Inc. r 19B4-28B2llliniHllJIlllllJlJ jin Jii) j iimjii)M J) JI JI ) Hl) J 1J JIHJCPU: PC pehtiuh. Proce&sar 日一 fteMory 5 it.6 : 0x7f 000U. BSP wrs Lon 1.2/3.UDB Cdhh Tpu: UDBCOMM_EN1JLU)BJelcoKu tn UxUorks on (built b
23、yon 2603-12-2G>到此,我们已经成功的在VMWare上安装了 VxWorks操作系统。需要注意的是,上面的画面会因为选择组件的不同而略微有所不同(例如,如果您没有选择target shell ,就不会出现命令行提示符),但一般不会影响后续操作。配置联机调试环境装好系统后,您肯定还希望将自己编写的应用程序下载到目标机进行调试,下面我们就完成这一部分的配置工作。打开您的Tornado开发环境,选择"Tools->Target Server->Configure ”菜单,弹出如下对话框:Configure Target ServersTar.get Serve
24、r;Jescripti on |n.etOOT ar ge t S erver Pr oper t i|Back End=Available BackTi.met (sec) Retrloopback厂 Add description menTarget Serverjwdbseri alwdbrTarget刖dr电Command Lixittgtsvr. exe 1.92. 168. 80. 254 V _B wdbrpc -R C: JtW "£ D; vxTorksd| OK | MinchCuu«lH«lp在"Description ”
25、中任意填写一个名字,这里是"netOO” ;在"AvailableBack”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“ 54 ” (由DEFAULT_BOOT_LIN参数决定);将"Target Server Properties ”下拉框更改至"Core File and Symbols”,并在"File Path” 一项中选择您的映象的完整路径,这里是"D:vxWorks ”(由 DEFAULT_BOOT_LIN参数决定)。完成以上两项配置,点击"Launch”按
26、钮,就可以启动Target Server 了。再回到 Tornado 开发环境,在工具条上的 Target Server 下拉 框列表 中选择 “ 54your_host_name”。这时您会发现工具条中一些原先处于"禁用”状态的工具按钮,现在都已经处于“激活”状态了。现在您就可以开始联机调试您的VxWorks应用程序了。XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX注:在安装tornado2.2 for PENTIUM 时,注意使用如下的序列号:CD1:cAQ8i-qP2l &-g$vT6-3 &gjw-bEk
27、9gCD2: A7KbB-Rd37p-hNFBE-kzgaT-b9gpC2)重新编译vxWorks运行映象。回到tornado2.2开发环境,打开上面创建的“bootable VxWorks image”类型的工程(自己重新创建一个新的“bootable VxWorks image ” 类型的工程亦可);向工程中添加 demo.c和 welcome.cpp文件;如下图:吏 Tornado -File Edt 企vt Project Build Debug Lools Window Helpel rniei 割mr xZl源代码如下:/*demo.c*/void demo()bspaallfflaaaam口口 -hnkSymp.c pijConfig.c ronlnit; ronStart.c$y$ALib.$ sysLh.cuirAppInilcb?elccme.cppExternal DependenciesFilew VmWoiRs Eiiidsprintf( "*n");prin tf("welcome to suche ngpin g's vxworksn");printf( &quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州黔东南州镇远县青溪镇鸡鸣村农村集体经济组织职业经理人选聘1人笔试考试备考试题及答案解析
- 2025江苏南京交通技师学院招聘高层次人才3人考试笔试模拟试题及答案解析
- 2025年丽江市永胜县委政法委(县法学会)招聘公益性岗位工作人员(1人)考试笔试模拟试题及答案解析
- 2025福建省水投数字科技有限公司第三批招聘1人考试笔试参考题库附答案解析
- 2025年陕煤韩城矿业有限公司招聘(500人)考试笔试备考题库及答案解析
- 2025广东韶关市新丰县医疗卫生类急需紧缺专业人才招聘29人(第三批)笔试考试备考题库及答案解析
- 2025福建厦门市集美区侨英小学非在编教师招聘1人考试笔试备考试题及答案解析
- 2026江苏镇江市丹徒区教育局所属学校“才荟丹徒”校园招聘教师30人考试笔试模拟试题及答案解析
- 2025龙虎山景区招聘金牌导游员2人考试笔试参考题库附答案解析
- 2025年新能源行业企业数字化转型与能源行业竞争格局研究报告
- 2025北京燃气集团校园招聘30人笔试历年典型考点题库附带答案详解试卷3套
- 《数字经济概论》习题答案 谢卫红
- 宠物医院实验室诊断(一)皮肤病检查课件
- 东南大学英文学术写作类教学课件
- 《卫生事业管理学》练习考试题库(100题)
- 辨阴阳易差后劳复病
- 像山那样思考经典
- 拜耳法生产氧化铝工艺流程简介
- GB/T 7307-200155°非密封管螺纹
- GB/T 31058-2014电子工业用气体四氟化硅
- 广西壮族自治区瑶药材质量标准第一卷
评论
0/150
提交评论