为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Vxworks知识材料学习资料整编汇总

2021-06-07 6页 doc 1MB 29阅读

用户头像 个人认证

一叶轻舟

暂无简介

举报
Vxworks知识材料学习资料整编汇总'\Vxworks学习资料整理TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc497491813"Vxworks学习资料整理PAGEREF_Toc497491813\h1HYPERLINK\l"_Toc497491814"1基于硬盘启动的Vxworks环境搭建PAGEREF_Toc497491814\h3HYPERLINK\l"_Toc497491815"2Vxworks引导盘制作PAGEREF_Toc497491815\h6HYPERLINK\l"_Toc497491...
Vxworks知识材料学习资料整编汇总
'\Vxworks学习整理TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc497491813"Vxworks学习资料整理PAGEREF_Toc497491813\h1HYPERLINK\l"_Toc497491814"1基于硬盘启动的Vxworks环境搭建PAGEREF_Toc497491814\h3HYPERLINK\l"_Toc497491815"2Vxworks引导盘制作PAGEREF_Toc497491815\h6HYPERLINK\l"_Toc497491816"2.1通过DOS加载VxWorks方法PAGEREF_Toc497491816\h6HYPERLINK\l"_Toc497491817"2.2Bootrom三种类型PAGEREF_Toc497491817\h7HYPERLINK\l"_Toc497491818"2.3VxWorks映象PAGEREF_Toc497491818\h7HYPERLINK\l"_Toc497491819"2.4Bootrom.sys最快制作方法PAGEREF_Toc497491819\h8HYPERLINK\l"_Toc497491820"2.5从网络引导PAGEREF_Toc497491820\h8HYPERLINK\l"_Toc497491821"2.6从本地硬盘引导PAGEREF_Toc497491821\h9HYPERLINK\l"_Toc497491822"2.7制作bootrom文件PAGEREF_Toc497491822\h9HYPERLINK\l"_Toc497491823"2.8Bootrom编译步骤PAGEREF_Toc497491823\h11HYPERLINK\l"_Toc497491824"2.9用BSP生成Bootable工程(即我们的程序文件)PAGEREF_Toc497491824\h12HYPERLINK\l"_Toc497491825"2.10FTPServer下载VxWorksPAGEREF_Toc497491825\h14HYPERLINK\l"_Toc497491826"3Tornado调试环境的建立PAGEREF_Toc497491826\h17HYPERLINK\l"_Toc497491827"3.1.1配置文件config.hPAGEREF_Toc497491827\h17HYPERLINK\l"_Toc497491828"3.1.2 网络连接PAGEREF_Toc497491828\h18HYPERLINK\l"_Toc497491829"6 从主机搭接(attach)到目标机PAGEREF_Toc497491829\h21HYPERLINK\l"_Toc497491830"7.1.3 串口连接PAGEREF_Toc497491830\h21HYPERLINK\l"_Toc497491831"44.Config.h文件注释说明PAGEREF_Toc497491831\h22HYPERLINK\l"_Toc497491832"4.1启动行说明#defineDEFAULT_BOOT_LINE\:PAGEREF_Toc497491832\h22HYPERLINK\l"_Toc497491833"4.2Config.h文件说明PAGEREF_Toc497491833\h23HYPERLINK\l"_Toc497491834"4.3启动参数结构体BOOT_PARAMSPAGEREF_Toc497491834\h35HYPERLINK\l"_Toc497491835"4.4booting过程介绍,比较详细PAGEREF_Toc497491835\h38HYPERLINK\l"_Toc497491836"5sysClkRateGet();返回系统时钟每秒的tick数量,tick详解PAGEREF_Toc497491836\h43HYPERLINK\l"_Toc497491837"6中断应用设计要点PAGEREF_Toc497491837\h44HYPERLINK\l"_Toc497491838"7驱动程序设计PAGEREF_Toc497491838\h49HYPERLINK\l"_Toc497491839"8缩短vxworks的启动时间PAGEREF_Toc497491839\h51HYPERLINK\l"_Toc497491840"9调试篇PAGEREF_Toc497491840\h54HYPERLINK\l"_Toc497491841"10驱动编程步骤PAGEREF_Toc497491841\h54HYPERLINK\l"_Toc497491842"10.1将驱动程序增加到“系统驱动程序列表”中PAGEREF_Toc497491842\h54HYPERLINK\l"_Toc497491843"10.2将设备增加到“系统设备列表”中PAGEREF_Toc497491843\h55HYPERLINK\l"_Toc497491844"10.3打开设备,得到文件描述符PAGEREF_Toc497491844\h55HYPERLINK\l"_Toc497491845"10.4SELECT机制的使用PAGEREF_Toc497491845\h55HYPERLINK\l"_Toc497491846"10.4.1select()函数翻译PAGEREF_Toc497491846\h57HYPERLINK\l"_Toc497491847"11VxWorks系统的网络驱动(END)PAGEREF_Toc497491847\h60HYPERLINK\l"_Toc497491848"12VXworks操作系统中信号量用于多任务同步与互斥的讨论PAGEREF_Toc497491848\h62HYPERLINK\l"_Toc497491849"12.1二进制信号量实现互斥和同步PAGEREF_Toc497491849\h64HYPERLINK\l"_Toc497491850"12.1.1互斥的实现:PAGEREF_Toc497491850\h64HYPERLINK\l"_Toc497491851"12.1.2同步的实现:PAGEREF_Toc497491851\h65HYPERLINK\l"_Toc497491852"12.2互斥信号量PAGEREF_Toc497491852\h67HYPERLINK\l"_Toc497491853"13Tornado的文件目说明录PAGEREF_Toc497491853\h68HYPERLINK\l"_Toc497491854"14Shell内置命令说明PAGEREF_Toc497491854\h72HYPERLINK\l"_Toc497491855"14.1任务管理PAGEREF_Toc497491855\h72HYPERLINK\l"_Toc497491856"14.2任务状态信息PAGEREF_Toc497491856\h72HYPERLINK\l"_Toc497491857"14.3系统修改和调试PAGEREF_Toc497491857\h73HYPERLINK\l"_Toc497491858"14.4对象命令(WindShCommandsforObjectDisplay)PAGEREF_Toc497491858\h73HYPERLINK\l"_Toc497491859"14.5WindShellandBrowser,Shell命令PAGEREF_Toc497491859\h74HYPERLINK\l"_Toc497491860"15驱动篇PAGEREF_Toc497491860\h81HYPERLINK\l"_Toc497491861"16中断篇PAGEREF_Toc497491861\h83HYPERLINK\l"_Toc497491862"16.1中断服务程序ISR编写注意事项PAGEREF_Toc497491862\h83HYPERLINK\l"_Toc497491863"16.2中断号与中断向量的转换PAGEREF_Toc497491863\h83HYPERLINK\l"_Toc497491864"16.3安装中断服务程序intConnect()PAGEREF_Toc497491864\h83HYPERLINK\l"_Toc497491865"16.4调试中断服务程序方法PAGEREF_Toc497491865\h84HYPERLINK\l"_Toc497491866"17mkboot批处理命令详细解释PAGEREF_Toc497491866\h84HYPERLINK\l"_Toc497491867"18MakeFile说明PAGEREF_Toc497491867\h85HYPERLINK\l"_Toc497491868"19VxWorks5.4中的输入输出重定向PAGEREF_Toc497491868\h89HYPERLINK\l"_Toc497491869"19.1vxworks屏幕输出,一般来说用printf都是串口/shell输出,串口输出就可以到屏幕上了?PAGEREF_Toc497491869\h89HYPERLINK\l"_Toc497491870"19.220.2VxWorks中针对X86开发时输入输出的重定向?PAGEREF_Toc497491870\h90HYPERLINK\l"_Toc497491871"20怎样加入外部.o文件?PAGEREF_Toc497491871\h92HYPERLINK\l"_Toc497491872"21如何在Vxworks中使用cd,pwd,ls命令:启用FileSystemandDiskUtilities组件(INCLUDE_DISK_UTIL),可在shell下用pwd/cd/ls等命令PAGEREF_Toc497491872\h93HYPERLINK\l"_Toc497491873"22Error:imageislargerthan524288bytesPAGEREF_Toc497491873\h94HYPERLINK\l"_Toc497491874"23proxyArpDefaultOn()未定义解决方法?PAGEREF_Toc497491874\h94HYPERLINK\l"_Toc497491875"24如何将VxWorks的系统定时间隔或系统Ticks设置为1ms?????PAGEREF_Toc497491875\h95HYPERLINK\l"_Toc497491876"25read/write、fread/fwrite、fopen/open有什么区别PAGEREF_Toc497491876\h96HYPERLINK\l"_Toc497491877"26快速启动???????????????PAGEREF_Toc497491877\h100HYPERLINK\l"_Toc497491878"27启动时报ATA0a和硬盘启动相关问题PAGEREF_Toc497491878\h100HYPERLINK\l"_Toc497491879"28如何安装USB2.2新版本及编译USB驱动?PAGEREF_Toc497491879\h101HYPERLINK\l"_Toc497491880"29WindML、图形界面相关问题PAGEREF_Toc497491880\h102HYPERLINK\l"_Toc497491881"29.1WindML,ugldemo出错?PAGEREF_Toc497491881\h102HYPERLINK\l"_Toc497491882"29.25101VxWorks黑屏问题?PAGEREF_Toc497491882\h102HYPERLINK\l"_Toc497491883"29.3添加ugldemo.c后,编译报undefinedreferenceto“ugltextdraw”错误一大堆?PAGEREF_Toc497491883\h102HYPERLINK\l"_Toc497491884"29.4WindML中文字库显示?PAGEREF_Toc497491884\h103HYPERLINK\l"_Toc497491885"30VxWork6.8相关问题PAGEREF_Toc497491885\h105HYPERLINK\l"_Toc497491886"30.1ELF和bin文件的区别?PAGEREF_Toc497491886\h105HYPERLINK\l"_Toc497491887"30.2diab和GNU的区别?PAGEREF_Toc497491887\h106HYPERLINK\l"_Toc497491888"31Nosuchfileordirectory错误?PAGEREF_Toc497491888\h107专业术语:WTX协议:(WindRiverTooleXchange):用于开发机内部Tornado工具与TargetServer之间通信.WDB协议:(WindDeBug):用于主机TargetServer与目标机之间的通信.基于硬盘启动的Vxworks环境搭建VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS)。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的F-16、FA-18战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。下面我们将详细讲述VxWorks环境的搭建。步骤一:安装Tornado开发环境,我在实际开发的时候使用的是Tornado2.2,安装过程比较简单,在这里不再赘述。步骤二:将CPU板的BSP放在Tornado2.2\target\config目录下。这里简单介绍一下Tornado2.2的目录树结构。从上面的目录树中我们可以很清楚的看到,BSP应该放在Tornado\target\config下,在这次实验中,我们还将使用host\x86-win32\bin下的文件,所以将host目录一并介绍。问:BSP为何物,用来做什么用?和VxWorks操作系统的关系如何?答:BSP是(BoardSupportPackage),也叫板级支持包,它为在目标板上运行Vxworks提供初始环境,并为VxWorks内核必须使用的与目标板硬件相关的系统调用提供函数库。问:BSP和驱动程序有什么区别?答:主要作用:BSP:初始化CPU初始化内存初始化外设到一个确定的状态完全驱动BSP必须的设备必须设备:定时器,串口可选设备:中断控制器(一般也是必备),网络接口设备提供与目标板相关的底层函数驱动程序:完全驱动设备到一个可用的状态初始化工作:BSP:确定设备的I/O地址确定中断向量初始化外设到一个确定的状态,因为有些设备在上电的时候状态是未知的。关闭该设备的中断驱动程序:编写初始化程序编写使用该设备的驱动程序编写ISR(中断服务程序)编写使能程序(可选)运行环境:BSP:原始环境,没有任何可用的资源,全部过程和状态由自己控制。启动完成后,会向VxWorks提供与硬件相关的函数库。使用串口的系统调用使用系统定时器的系统调用使用系统中断控制器调用驱动程序:基于VxWorks是VxWorks的标准任务可使用基于VxWorks的各种标准函数和标准服务。调用ISR(中断服务程序)时需要特别注意当时用VxWorks的系统调用时,可能使用BSP提供的代码。Vxworks引导盘制作通过DOS加载VxWorks方法将CF卡或硬盘制作成DOS6.22的启动盘。将上面的5个文件拷贝到CF卡或硬盘中。使用时,将bootrom.sys或Vxworks拷贝到CF卡或硬盘中。Bootrom三种类型1.Bootrom压缩型,占用 flash 空间小,其中大部分被压缩过Acompressedbootimage2.bootrom_uncmp非压缩型,较 bootrom 型占用 flash 大些,完成将自身从flash到ram的搬运过程,无需解压3.bootrom_res非压缩型,较 bootrom 型占用 flash 大些,完成将自身从flash到ram的搬运过程,无需解压无后缀:ELF可执行文件格式.hex后缀:MotorolaS-record文件格式.bin后缀:二进制输出,一般烧到ROM/Flash零地址处。3、romStart() (bootInit.c)bootrom 型:将 code 段、data 段从 flash 中拷贝到 ram中,清内存,之后对code段进行解压缩。bootrom_uncmp 型:将 code 段、data 段从 flash 中拷贝到 ram中,清内存。bootrom_res 型:将 data 段从 flash 中拷贝到 ram。VxWorks映象1VxWorks映象的组成VxWorks映象由文本段(.text/.code),数据段(.data)和BSS段(.bss)组成。文本段相当于代码段,是由一些指令组成的;数据段就是由一些初始化过的全局和静态变量组成;BSS段也是由全局变量和静态变量组成,只不过他们都没有经过初始化。Bootrom.sys最快制作方法生成bootrom时,选择bootrom.bin。生成后将bootrom..bin改名为bootrom.sys,直接拷贝到上面2.1中制作的引导盘中就可以。从网络引导修改BSP中的config.h文件。为了自定义你的开发环境的启动程序,你必须编辑文件“安装目录\target\config\bsp名\config.h”,这个配置文件在BSP中。这个文件中包含了对DEFAULT_BOOT_LINE的定义,在定义中,确定了启动设备,主机和目标机的IP地址,要加载的Vxworks镜像的位置等等。在VxWorks的开发过程中,用户需要反复的修改VxWorks程序,这个时候,我们可以采用网络加载VxWorks的方式,也就是说,用主机作为服务器,做好引导程序后,系统会自动通过ftp协议,在主机上的ftpserver上下载VxWorks镜像。通过网络下载时,config.h中的DEFAULT_BOOT_LINE按如下配置修改:#defineDEFAULT_BOOT_LINE\"fei(0,0)host:vxWorksh=192.168.0.33e=192.168.0.18u=userpw=user"解释:fei:Intel82559EtherExpress网卡。Host:主机名,让VxWorks知道的主机的名字。vXworks从主机加载的VxWorks文件h=192.168.0.33  主机的IP地址    e=192.168.0.18目标机的IP地址,若网络启动TargetServer时,这个IP必须和主机上TargetServer配置的TargetIP地址一致,且设置BackEnd选项为wdbrpcu=xxx 用户名,pw=xxx 密码:若通过网络加载调试时,主机的Ftp服务器和目标机的用户名和密码必须相同从本地硬盘引导如果用户的程序开发完成,要脱离开发环境,这个时候需要将VxWorks的镜像直接放在目标机的硬盘上,config.h中的DEFAULT_BOOT_LINE按如下配置修改:#defineDEFAULT_BOOT_LINE\"ata=0,0(0,0)host:/ata0/vxWorksh=192.168.0.33e=192.168.0.18u=userpw=user"1.将rel1460板的BSP文件拷贝到target的rel1460下面。注意:将config.h中的引导行,要改成需要的启动方式!2.将工程的关联属性重来一遍。3.重新REBUILD!4.从菜单中,编译Bootrom!5.运行torvars.bat,mkboot命令!注意:lockc:,vxsysc:制作bootrom文件首先,执行“开始->运行->输入cmd”,回车。然后进入Tornado的host下可执行目录下,执行torvars.bat,为可执行文件设置路径。过程如下图:接下来,进入BSP目录,makebootrom_uncmp,过程如下图所示:制作Bootrom文件还有一种很方便的方法,就是直接在Tornado环境下制作。选择菜单build->buildBootROM,然后选择你要build的BSP和Bootrom类型,选择OK即可。如下图所示:步骤五:将做好的启动文件,mkboot到目标盘。如下图:注意:i:与bootrom_uncmp之间有空格!这里的i:表示的是我们要制作的VxWorks引导的硬盘的活动分区。执行完后会在i盘生成bootrom.sys文件。问:怎么我mkboot的时候,提示“‘mkboot’不是内部或外部命令,也不是可运行的程序或批处理文件”?答:这是因为找不到mkboot.bat文件,所以在这一步之前你需要执行torvars.bat对文件路径进行设置(详见步骤四),然后在不退出cmd命令窗口的情况下,执行mkboot,如果退出了cmd命令窗口,就需要重新执行torvars.bat,才可以mkboot。问:我按照步骤做了,怎么还是启动不起来:答:请按如下步骤检查:生成的bootrom.sys文件所在盘的格式是否是FAT格式,如果不是,请将格式改为FAT。该盘是否是活动分区,如果不是,把该分区修改为活动分区。重新mkboot,启动一次,如果还是不能启动,用Format/s命令把这个分区做个DOS启动盘,看Dos能否启动,如果Dos不能启动,这个时候很有可能就是该磁盘的主引导记录有问题了,把盘上的数据全部备份出来,然后用DM工具对主引导记录信息进行重写。在mkboot之前,要确保目标盘是FAT格式,否则启动不起来。Bootrom编译步骤1.将CPU1462板的BSP文件拷贝到target的CPU1460下面。注意:将config.h中的引导行,要改成需要的启动方式!2.将工程的关联属性重来一遍。3.重新REBUILD!4.从菜单中,编译Bootrom!5.运行torvars.bat,mkboot命令!用BSP生成Bootable工程(即我们的程序文件)详细过程如下列图所示:上面这一步需要选中指定的BSP。到现在VxWorks操作系统生成,用户也可以在生成的操作系统上对系统进行裁剪。裁剪完成后,可以build一个VxWorks。问:bootable工程和downloadable工程有什么不同?答:bootable工程用来配置和建立VxWorks镜像,downloadable工程用来管理和生成动态链接应用模块,允许动态开发。FTPServer下载VxWorks本文介绍了两种启动VxWorks的方法,硬盘启动和网络启动。硬盘启动方式比较简单,只需要将build出来的vxWorks放在执行mkbootrom所指定的目标盘即可。这种方式一般在产品发布的时候使用,在调试的时候,一般采用ftp下载的方式,也就是说VxWorks操作系统不放在启动盘上,是系统在引导起来后,通过ftp从主机上下载VxWorks镜像,然后执行VxWorks。要通过ftp下载VxWorks到目标机,首先要设置Tonado中的ftpserver。如果在启动ftpserver时,出现“WSAEADDRINUSE–Addressalreadyinuse”错误,需要卸载WindowsIIS组件中的ftp服务,因为系统的ftp会和tornado的ftp产生冲突。卸载方法:控制面板->添加或删除程序->添加/删除Windows组件->Internet信息服务(IIS),点击“详细信息”按钮,去掉“文件传输协议(ftp)”服务前面的对钩。确定即可,如下图所示。打开ftpserver,进入“security->users/rights…”,添加用户和密码,用户和密码和步骤三中的配置信息要一致,其中的HomeDirectory中填写的就是生成的VxWorks所在的文件夹的路径,可以通过查看vxWorks文件的属性,得到其生成的位置。启动目标机,VxWorks就可以启动。步骤八:启动targetserverTargetserver是Tornado的一个组件,Tornado中的开发工具(例如:windsh、debugger)通过它可以和远程的目标系统进行通讯。Targetserver的配置如下:TargetName/IPAddress栏内填写步骤三中配置的targetIP即可。这里的文件栏内填写的是VxWorks的全路径。配置好后,选择“Launch”,即可启动Targetserver,如果启动成功,Windows右下角就会出现图标,否则图标为,表示启动不成功。步骤九:这是你就可以生成一个Downloadable工程,写自己的应用程序,然后下载执行了。2.7Bootable和Downloadable工程有什么不同?Tornado以工程(project)为单位组织软件开发,工程中包括源代码信息、VxWorks配置和编译配置等。Tornado提供了工作空间(workspace)机制,用于工程的组织和管理。Tornado可以创建多个工作空间,每一个工作空间可以包含多个工程。每个工程又能引用多个源代码文件,组成层次结构。工作空间主要用在主机上安装有多个不同版本的Tornado时,每个工作空间可以以Torndao的版本命名。Tornado能创建两种工程类型:Bootable和Downloadable。前者用于生成VxWorks程序映像,包括基本的操作系统组件,经过完全连接,可以独立运行。后者生成程序模块目标映像,只是部分连接,不能独立运行,但这种映像支持动态加载和连接,为VxWorks特有,能进行应用代码的快速开发和调试,而对系统其他部分不会造成影响。在项目的开发中,采用创建Downloadable工程来调试自己开发的应用模块。Tornado调试环境的建立3.1.1配置文件config.h目标机运行的程序包括两部分:引导文件bootrom.sys和操作系统影像文件VxWorks。引导文件bootrom.sys的主要作用类似于BIOS,一般它存放在一张软盘或目标机硬盘或目标机FLASH盘上,由Vxld或其他程序加载到内存,用于初始化目标机上的包括引导硬件在内的硬件,建立VxWorks运行的环境,从引导设备上加载VxWorks操作系统影像,并将CPU的控制权移交给操作系统。VxWorks是操作系统的影像文件。它是应用程序和目标代理程序(调试环境的目标机部分)运行的软件平台,一般存放在bootrom.sys所在软盘或目标机硬盘或目标FLASH盘或主机硬盘上,由bootrom.sys的引导程序加载到目标机内存。bootrom.sys和VxWorks这两个可以利用Tornado提供的工具,按照配置文件config.h有关设置自动生成。特定BSP的配置文件config.h在该BSP目录下。如pc486的配置文件是Tornado\target\config\pc486\config.h。配置文件config.h主要定义了引导行,目标机操作系统包含的主要成分,如软驱、IDE硬盘、SCSI设备、网络等设备驱动,文件系统(DOSFS,TFFS,CDROMFS等),调试方式,内存地址等及有关参数。引导行(bootline)定义了引导设备、引导路径、操作系统文件名、主机/目标机IP地址、子网掩码、FTP用户名和口令等参数。对于X86平台目标机,引导设备可以是软盘(fd),硬盘(ata或ide),FLASH盘(tffs),网卡(elt、ene等)等。一般采用通过以太网或通过RS232或RS422标准串口连结进行调试。在X86平台上,首先确定调试手段,是通过网络还是串口调试?然后按下面的步骤建立调试环境:1修改配置文件2生成bootrom_uncmp引导文件和VxWorks影像文件3制作启动软盘4配置主机环境5用启动软盘启动目标机6从主机搭接(attach)到目标机下面详细介绍。3.1.2 网络连接使用以太网连结调试方式,通过网口使用FTP协议从主机下载VxWorks映像。在X86平台上一般使用启动软盘来启动目标机。首先要确定目标机使用的网卡型号。VxWorks5.4支持的网卡可以参考config.h文件。需要包含相应的INCLUDE_XXX。常用的如下表:表7.1 VxWorks5.4支持的几种常用网卡INCLUDE_XXX  网络接口卡   备注INCLUDE_ENE  Eagle/NovellNE2000接口卡包括兼容卡,不支持即插即用INCLUDE_ELT  3COMEtherLinkIII接口卡 包括兼容卡,不支持即插即用INCLUDE_EL_3C90X_END  3comfastetherLinkXLPCI网卡 3Com3c905系列INCLUDE_FEI  IntelEtherExpressPRO100BPCI接口卡INCLUDE_LN_97X_END   AMD79C972网卡 1 修改config.h修改config.h最重要的一步是修改引导行。引导文件bootrom.sys根据引导行来确定引导设备、引导路径、操作系统文件,并且引导行存放在固定的位置。操作系统访问引导行来确定网络的配置,系统reboot时也将访问引导行。bootrom.sys和VxWorks将它转换为一个特定的引导参数结构BOOT_PARAMS。在config.h中,引导行定义为有特定格式的字符串。BOOT_PARAMS定义在h\bootlib.h中。解释如下: typedefstruct             /*引导参数结构BOOT_PARAMS*/  {  charbootDev[BOOT_DEV_LEN];    /*引导设备代码*/  charhostName[BOOT_HOST_LEN];   /*主机名*/  chartargetName[BOOT_HOST_LEN];  /*目标机名*/  charead[BOOT_TARGET_ADDR_LEN];  /*目标机以太网地址*/  charbad[BOOT_TARGET_ADDR_LEN];  /*底板以太网地址*/  charhad[BOOT_ADDR_LEN];     /*主机以太网地址*/  chargad[BOOT_ADDR_LEN];     /*以太网网关*/  charbootFile[BOOT_FILE_LEN];   /*引导文件名*/  charstartupScript[BOOT_FILE_LEN];/*启动脚本文件名*/  charusr[BOOT_USR_LEN];      /*用户名*/  charpasswd[BOOT_PASSWORD_LEN];  /*口令*/  charother[BOOT_OTHER_LEN];    /*留给应用程序使用*/  int procNum;           /*处理器号*/  int flags;            /*配置标示*/  int unitNum;           /*网络设备编号*/  }BOOT_PARAMS; 以ISA3COM3c509b网卡为例,网卡需要设置为非即插即用方式,中断号为5,IO端口为0x300。主机IP地址为222.1.5.169,目标机IP地址为222.1.5.36。主机名为VxHost,有一FTP用户VxMe,口令为isMe。对应的引导行应为:“elt(0,0)VxHost:\tornado\target\config\pc486\vxWorksh=222.1.5.169e=222.1.5.36u=VxMepw=isMetn=VxTarget”解释如下:ene    /*启动设备名,为ISA3COM3c509网卡,ne2000网卡应为ene*/VxHost /*主机标名,可以任意填写,不影响启动过程*/\tornado\target\config\pc486\vxWorks /*需要从主机加载的路径及映像文件名*/ h=222.1.5.169 /*主机的IP地址*/e=222.1.5.36/*目标机的IP地址*/u=VxMe /*用户名,主机的Ftp服务器必须有相应的同名用户*/pw=isMe/*口令,必须与主机的Ftp服务器相应的同名用户的口令相同*/tn=VxTarget /*目标名,可以任意设置,不影响启动过程*/ 将下面的一行#undef INCLUDE_ELT /*uninclude3COMEtherLinkIIIinterface*/该为:#defineINCLUDE_ELT   /*include3COMEtherLinkIIIinterface*/ 还要修改下面的定义#defineIO_ADRS_ELT  0x240#defineINT_LVL_ELT  0x0b为:#defineIO_ADRS_ELT  0x300     /* 网卡I/O地址*/#defineINT_LVL_ELT  0x05     /* 网卡中断号*/ config.h修改完毕,下一步是生成目标文件bootrom.sys和VxWorks。 2 生成目标文件bootrom.sys和VxWorks先生成bootrom_uncmp。在Tornado集成环境中执行菜单命令Build-〉BuildBootROM…,在弹出的对话框中,左边框中选择BSP,选中pc486,右边框中选择要生成的影像文件,选择bootrom_uncmp,然后点击OK确认。Tornado将生成bootrom_uncmp。 再生成VxWorks。在Tornado集成环境中执行菜单命令Build-〉StandardBSPBuilds…。(如果没有该项,请执行菜单命令Tools-〉Options…,在弹出的对话框中,选中Project页,选择ShowTornado1.0.1menuitems,点击OK确认)。与生成bootrom_uncmp类似,在弹出的对话框中,BSP选择pc486,影像文件,选择VxWorks。然后点击OK确认。Tornado将生成VxWorks。注意,必要时先进行clean操作 3 制作启动软盘拷贝Tornado\target\config\pc486\bootrom_uncmp至Tornado\host\bin下;准备一张已格式化的空盘插入软驱;在目录Tornado\host\bin下执行命令mkboota:bootrom_uncmp注意,有时,我们需要改变配置参数,重新生成引导文件,如果软盘已经是可引导的,那么只需更换软盘上的引导文件即可,方法是: dela:. (需要键入’y’确认删除) vxcopybootrom_uncmpa:bootrom.sys 4 配置主机环境主机操作系统Win95安装目录下有一文件hosts.sam,向其中加入:主机IP主机名目标机IP目标机名启动Tornado组件FTPServer,在WFTPD窗口中选择菜单Security中的User/right...,在其弹出窗口中选择NewUser...,根据提示信息输入登录用户名和口令,并且要指定下载文件VxWorks所在根目录。可能还需要选取主菜单Logging中Logoptions、EnableLogging、Gets、Logins、Commands、Warnings选项。 5 用启动软盘启动目标机将系统引导软盘插入目标机软驱,加电启动,目标机即通过FTP方式从主机下载VxWorkst系统。在控制台上可以看到启动信息。如果需要修改,在等待用户配置时,按c键,进行相应修改。(注意:配置信息要与主机配置、Ftp服务器配置一致),修改结束后,按@键重新启动目标机。 6 从主机搭接(attach)到目标机在Tornado集成环境中点取Tools菜单,选取TargetServer,选择config...;在ConfigureTargetServers窗口中先给目标服务器命名;在配置目标服务器窗口中的“TargetServersProperty”窗口中,选择BackEnd;在“AvailableBack”窗口中选择wdbrpc,在“TargetIP/Address”窗口中输入目标机IP(本例为222.1.5.36);在配置目标服务器窗口中的“TargetServersProperty”窗口中,选择CoreFileandSymbols,选择File为BSP目标文件所在目录(本例为PC486目录)的VxWorks,并选取为AllSymbols;在配置目标服务器窗口中的"TargetServersProperty"窗口中的其它各项可根据需要选择;点击Launch按钮,连接主机和目标机,全部出现successed后即可进入应用程序调试;点击图形按钮中下拉框,选择和主机相连的目标机。即可建立主机目标机连接。这时Shell、Debugger等按钮可用。7.1.3 串口连接串口连接一般从启动软盘下载VxWorks映像。其步骤如下: 1 修改通用配置文件在config.h文件中加入以下宏定义:#defineINCLUDE_WDB#defineINCLUDE_WDB_TTY_TEST#undefWDB_COMM_TYPE#defineWDB_COMM_TYPEWDB_COMM_SERIAL/*定义通信方式为串口联结*/#defineWDB_TTY_CHANNEL1/*通道号,目标机串口2*/#defineWDB_TTY_BAUD9600/*串口速率,VxWorks最高可设置至38400*/#defineWDB_TTY_DEV_NAME"tyCo/1"#defineCONSOLE_TTY0 引导行为#defineDEFAULT_BOOT_LINE\"fd=0,0(0,0)hostname:/fd0/vxWorksh=222.1.5.169e=222.1.5.36u=VxMe" 2 生成目标文件bootrom.sys和VxWorks同网络连接。 3 制作启动软盘同网络连接。同时要把Tornado\target\config\pc486\VxWorks拷贝至软盘。 4 配置主机环境不需要。 5 用启动软盘启动目标机将系统制作盘插入目标机软驱,加电启动,目标机即由软盘下载VxWorks系统。 6 从主机搭接(attach)到目标机在Tornado集成环境中点取Tools菜单,选取TargetServer,选择config...;在ConfigureTargetServers窗口中先给目标服务器命名;在ConfigureTargetServers窗口中先给目标服务器命名;在配置目标服务器窗口中的"TargetServersProperty"窗口中选择BackEnd,在"AvailableBack"窗口中选择wdbserial,再在"SerialPort"窗口中选择主机与目标机连接所占用的串口号(COM1,COM2),再在"Speed(bps)"窗口中选择主机与目标机间串口速率;在配置目标服务器窗口中的"TargetServersProperty"窗口中选择CoreFileandSymbols,选择File为BSP目标文件所在目录(本例为PC486目录)的VxWorks,并选取为AllSymbols;在配置目标服务器窗口中的"TargetServersProperty"窗口中的其它各项可根据需要选择;点击Launch按钮,连接主机和目标机,全部出现successed后即可进入应用程序调试;点击图形按钮中下拉框,选择和主机相连的目标机。即可建立主机目标机连接。这时Shell、Debugger等按钮可用。  4.Config.h文件注释说明启动行说明#defineDEFAULT_BOOT_LINE\:配置目标机网卡,设置其中断号和输入输出范围(I/O地址);修改通用配置文件\\Tornado\target\config\pc486\config.h.针对不同的网卡,其名称不同,如NE2000及其兼容网卡为ENE,3COM以太网卡为ELT,网卡为EEX。在config.h文件中修改相应网卡类型(如网卡为3COM网卡)的定义部分:#defineIO_ADRS_ELT网卡I/O地址#defineINT_LVL_ELT网卡中断号并且修改#defineDEFAULT_BOOT_LINE的定义:#defineDEFAULT_BOOT_LINE\"elt(0,0)主机标识名:C:\\tornado\\target\\config\\pc486\\vxWorksh=主机IPe=目机IPu=登录用户名pw=口令tn=目标机名"DEFAULT_BOOT_LINE宏定义,使缺省配置符合自己的调试环境#defineDEFAULT_BOOT_LINE\"ene(0,0)host:c:/tornado/target/config/pc486/vxWorksh=129.9.75.39e=129.9.49.7u=x86pw=x86tn=x86"ene(0,0)/*启动设备为网卡*/host/*主机标识,可以任意填写,不影响启动过程*/c:\tornado\target\config\pc486\vxWorks/*需要从主机加载的映象文件*/h=129.9.75.39/*主机的IP地址*/e=129.9.49.7/*目标机的IP地址*/u=x86/*用户名,主机的Ftp服务器必须有相应的同名用户*/pw=x86/*密码,必须与主机的Ftp服务器相应的同名用户的密码相同*/tn=x86/*目标名,可以任意设置,不影响启动过程*/Config.h文件说明/*ThisfilecontainstheconfigurationparametersfortheCPUevaluationboard.*/#ifndefINCconfigh#defineINCconfigh/*BSPversion/revisionidentification,beforeconfigAll.h*/#defineBSP_VER_1_21#defineBSP_VER_1_11#defineBSP_VERSION"1.2"/*ATornado2.0BSP*/#defineBSP_REV"/3"/*0forfirstrevision*/#include"configAll.h"       /*这个文件定义了VxWorks所有的缺省设置*//**DefineONEofthefollowingtospecifytherevisionofthePPC405GPchip*youareusing.Undefineallothers.sysModel()willreturn*"Unknownprocessor"ifthecorrectselectionisnotmade.*//**Defaultbootline*//*解释:这一行对配置网络,连通TargetServer及下载调试程序非常重要DEFAULT_BOOT_LINE的原意是为没有NVRAM的target设计的,这样用户就不需要在每次系统启动是手工输入这些参数了.系统启动网络时xxxEndLoad()会解释这一行并按这一行的定义进行加载.Emac(0,0):启动设备,可是是软盘,硬盘,PCMCIA卡等其他的设备名称如:fd为软盘,(0,0)表示第一个软驱,3.5寸盘.dc则表示从DEC21x4x芯片启动,即系统有NVRAM存在,这种方式现在已不采用.elpci表示启动设备为3COMEtherLinkXLPCI网卡.fei:Intel82559EtherExpress网卡.ene:NE2000网卡ELT:3COM以太网卡EEX:Intel网卡ata:ATA/IDE硬盘............405GP:主机名vXworks从主机加载的VxWorks文件h=172.16.1.159  主机的IP地址    e=172.16.254.52目标机的IP地址,若网络启动TargetServer时,这个IP必须和主机上TargetServer配置的TargetIP地址一致,且设置BackEnd选项为wdbrpcu=xxx 用户名,pw=xxx 密码:若通过网络加载调试时,主机的Ftp服务器和目标机的用户名和密码必须相同tn=vxTarget目标机名称*/#defineDEFAULT_BOOT_LINE\       "Emac(0,0)405GP:vxWorksh=172.16.1.159e=172.16.254.52\               u=xxxpw=xxxtn=vxTarget"/**内存设置.*如果定义了LOCAL_MEM_AUTOSIZE则SDRAM的大小会在Boot时指定*/#undefLOCAL_MEM_AUTOSIZE                  /*运行时内存大小*/#defineLOCAL_MEM_SIZE0x02000000          /*32MB内存缺省*/#defineLOCAL_MEM_LOCAL_ADRS0x00000000    /*内存基地址为0*/#defineUSER_RESERVED_MEM0                /*seesysMemTop()*//**DefineSDRAM_ECC_ENABLEtoenableECCifanECCSDRAMDIMMisdetected*duringSDRAMauto-configuration.Ifnotdefined,ECCwillnotbeenabled*ifanECCSDRAMDIMMisdetected,andtheDIMMwillbeusedasanormalDIMM.*/#undefSDRAM_ECC_ENABLE/*解释:这里主要设置系统的内存分配定义,若分配不当,则系统不能正常加载和运行.ROM_TEXT_ADRS,ROM_SIZE,RAM_HIGH_ADRS,和RAM_LOW_ADRS在config.h和Makefile文件中都要定义,且必须要保持一致,这些地址的定义一定要参照VxWorks加载执行过程,硬件手册,MMU和VxWorks的大小进行.主要原则是保证VxWorksimage在ROM和RAM中都要有一定的运行空间且高效运行,可参见HYPERLINK"http://www.embhelp.com/drew/mypage/bsp_boot.htm"VxWorksBSP和启动过程.*/#defineROM_BASE_ADRS0xfff80000                /*ROM的基地址*/#defineROM_TEXT_ADRS(ROM_BASE_ADRS+0x100)   /*程序指针和堆栈指针*/#defineROM_WARM_ADRS(ROM_
/
本文档为【Vxworks知识材料学习资料整编汇总】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索