




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VxWorks的使用绪论这本书的目的不是为你介绍VxWorks入门的详细内容或嵌入式和实时系统的编程。也就是说,本章将介绍关于VxWorks使用的一些基本背景知识和一些相关的工具。本章将主要介绍命令行工具,因为它们对中级或高级用户来说更有用,而风河公司的文件对此也涉及较少。基本工具工具介绍每一个VxWorks安装都自带一些工具。自5.3版以后,他们被称为Tornado;在此之前,他们只是安装的产品的一部分。这些工具的二进制文件可以在主机的安装根目录/host-type/bin(如./host/sun4-solaris2/bin, .hostx86-win32bin o或 ./host/x86-linux2/bin )中找到 。VxWorks提供的最常用的编译器是一种变异的GNU的gcc C/C+编译器。在VxWorks AE和 VxWorks 5.5版本之前通常是2.7.2 版本。令人困惑的是,有些版本的Tornado 2 ,进行更大的和2.0版本小于2.2 ,使用其他版本。要检查您的编译器的版本就调用有版本选择的编译器(注意双波折号前缀) 。混合不同版本的VxWorks二进制文件不是一个好方法。二进制文件的规格出现了一些变化,例如:针对某一特定的CPU,修正编译器使其更好的遵守EABI或ABI约定 。升级到VxWorks AE或VxWorks 5.5后也更改格式为ELF的几乎所有的架构,已经被埃尔夫。偶尔也会改变内部数据结构,这可能会导致旧的二进制文件的兼容性问题。其他一些编译器也可以使用(如Green Hills或Diab,后者现为风河公司所有) 。不过总的来讲,这些编译器和GNU编译器相比几乎没有优势。作者强烈建议在仔细评估代码在实际应用的效果后再选择支付这些编译器中的一个。在某些情况下,两者都能够产生比GNU更小且更快的代码,但不是总是如此,而且通常幅度并不大。下表列出了VxWorks提供的具体工具。为明确起见,省略了工具应加的结构名称后缀,例如,当使用PowerPC目标机时将使用cc代替ccppc。如果你不知道的话,在文件中查对你的结构的后缀,。另请注意,并非每个版本的Tornado / VxWorks都带有所有这些,所以如果有一些较含糊的内容在您的安装文件中找不到也不要感到惊讶,Tool Purpose addr2line 将地址转换为一个可执行到目标文件名和行号ar 存档工具:用于创建和操做文件as GNU 汇编 c+ C+ 编译器c+filt C+ symbol demangler utility cc 主要的C编译器(也编译 C+文件) cpp C 预处理器 g+ c+的别称 gasp GNU宏汇编预处理器 ld 链接 nm 目标文件的符号列表工具 objcopy 目标文件操作工具 可以进行目标文件的多种转换objdump 目标文件分析工具 ranlib 过时的工具,用于生成索引存档,现在由ar自动处理readelf ELF-具体的目标文件分析工具 size 报告目标文件中段的实际大小strings 从二进制文件中提取可打印的字符串 strip 去除目标文件中的无用信息 (例如,调试信息或符号名)还有一些结构的独立工具放在Tornado安装目录下的bin中。下面的表格为命令行用户介绍一些最重要的工具。其中一些将在以后的几节做详细介绍。工具 功能binToAsm TBD deflate 生成压缩ROM image时使用的压缩工具elfToRelf VxWorks AE 工具,将 ELF 转换为R-ELF expect TBD make GNU make的一个版本 (通常是很旧的版本). memdrvbuild 创建memDrv image的工具munch C + +的汇编工具,生成目标C或D的静态阵列 refgen 文档生成工具(将Wind River编码的标准头文件和函数生成HTML格式的文档) romsize 计算ROM image的大小, 并在其大于给定的ROM驱动器时发出警告 smsToBin VxWorks AE工具,为每个bootable 域的映像创建一个综合的二进制版本tclsh TCL shell. tgtsvr 目标服务器,可用命令行工具启动,它允许其他工具和目标机系统通信. torVars.bat Windows主机的; 在使用任何其他命令行工具之前由每个命令提示符窗口执行一次 torVars.csh Unix C shell用户的环境初始化脚本,在使用任何其他命令行工具之前应指明来源(不执行)。torVars.sh Unix Bourne shell (或 bash)用户的环境初始化脚本,在使用任何其他命令行工具之前应指明来源(不执行)vxencrypt 版本的Unix隐窝命令生成加密的密码字符串的目标所需要的rlogin和Telnet服务时,验证已启用vxsize 计算出的大小VxWorks 映像的大小,并确定它是否适合存放在RAM_LOW_ADRS和RAM_HIGH_ADRS之间的内存中 ,即它是否可由VxWorks启动windsh 基于主机的VxWorks shell的命令行版本。要求运行目标服务器以连接目标机系统(参见上面的tgtsvr)windview WindView运行时的分析工具的独立版本wish TCL/Tk 的窗口shellwtxregd 目标注册表服务,其中一个必须在由WIND_REGISTRY指定的的作为目标服务器的机子上运行。最常见的本地运行,但可以在另一台机子上运行。中央登记处,允许不同和主机上的多个用户共享目标服务器之间的连接Target Server 目标服务器通过目标服务器将运行在主机上的工具和目标系统联系起来。目标机必须运行WDB代理进行这一工作(在INCLUDE_WDB中查看所有的宏/组件配置,以及WDB_配置参数 ) 。也许不那么众所周知的事实是,目标服务器并不需要和工具运行在同一台计算机上。每个目标服务器有一个名字,而且名字被注册在目标机注册表里(可在文件中查看wtxregd和环境变量WIND_REGISTRY )启动目标服务器,首先请确保WIND_REGISTRY点,一台机器在您的网络上运行的WTX登录守护进程(服务在Windows的术语) 。然后用目标机系统的名称或IP地址运行tgtsvr(如果您的主机的文件或LAN的DNS服务器中没有目标机的IP地址,那么您必须使用分配给目标机系统的IP地址)tgtsvr -n target-99 target-99 &tgtsvr -n target-99 9 &请注意,在这些例子中,服务器使用Unix shell在后台运行,其特点是在命令行的结尾增加了 符号。 Windows用户则可能想要建立一个快捷命令,可以简单地双击来启动服务器,或使用开始命令通过命令提示符在它本身的窗口中启动一个新的目标服务器在所有这些例子中,我们使用了- n选项来为目标服务器指定了一个名称。如果不使用该选项,它会默认为目标机的名字或IP地址。假设主机的全名为 ,那么目标服务器的全名就是 。在该主机上的,可使用简写形式target - 99;同一域的其他计算机可以使用target - 99 host。从理论上讲,如果系统对互联网是开放的,那么世界上任何地方的工具可使用全名连接到目标服务器。注:使一台目标服务器在互联网上可见可能是一个严重的安全风险这种命名方式允许在潜在的任何计算机上运行的工具都可以连接到这个目标服务器,并从那里到目标机系统本身。这样可使多个开发者共享目标机。由于 VxWorks不是一个多用户操作系统,所以多个用户同时共用一个目标机是不明智的。也就是说,让另一位也许在一个远程站点工程师使用目标机帮助调试东西可能会有作用。另一个常见的作用是当目标机需要被孤立在自己的子网上时。一台机器可以作为所有目标服务器的主机,从而允许任何机计算机上的工具连接到目标机,而基本上他们对网络的其余部分是不可见的(只要网关没有设置网络之间的数据包转发) 。Figure 1.1 - Hiding Targets from the Corporate LAN 从公司局域网中屏蔽目标机有效的隐藏专用局域网上的目标机系统这种方式也许是可取的,原因有许多,包括应用中目标系统要产生大量的网络流量,这可能干扰企业局域网的日常使用。可能会用到目标服务器的一些其他选项。如果要查看完整的列表,选择帮助选项开始目标服务器。下表显示的是一些较常见的(请注意,目标服务器的命令行选项是区分大小写的) :选项 描述 -A 包括局部符号,以及所有模块全局符号。这样,您就可以把你的代码中声明的符号看做是静态的。自动变量的符号是不可见的(即那些函数内部声明的变量) 。-B 选择不同的连接后端。默认值为网络的RPC后端,但您的系统可能需要使用别的端口。使用JTAG探针的连接以及到模拟器的连接将需要使用此选项-c 指定目标机核心文件(即boot image)的位置。当目标机运行的是ROMd版本的内核这一点是非常重要的,但将目标文件从另外一台计算机加载到目标服务器运行的计算机上是也会用到。-n 为目标服务器指定一个名称。更多内容请查看上文-N 不由由核心文件加载任何符号-R root 使目标服务器的文件系统关联指定的根目录。-RW 读写目标服务器文件系统-V 打开详细模式,尤其在启动目标服务器调试问题的时候源文件调试工具 Target Shell 和loder建立内核映像启动目标机系统要想通过网络启动目标系统,您需要确保您拥有下列内容: 一个带有VxWorks bootrom的目标板(其他固件,甚至JTAG工具也可以用来启动VxWorks,但软件开发时使用VxWorks bootrom通常更简单) 。 一台运行在适当服务器上的主机。FTP , TFTP 和Unix系统的RSH可用于boot image的网络传输。 A VxWorks image to boot. 用于启动的 VxWorks image还有其他方法来启动一个目标系统,包括把内核image直接烧进目标板的Flash或PROM,也可以从本地文件系统中载入,如硬盘或闪存文件系统。如果您正在使用的是COTS硬件或制造商的参考电路板,请查看你的BSP的文件,该文件说明了如何把相应BSP的boot rom烧入到目标板中。现在大部分板子支持板上闪存功能,即可使用网络或串口线把数据传输到目标系统。老的板子可能需要使用额外的编程器件把image拷入到进行编程到flash 或EPROM中。对于那些使用自定义硬件的,情况更复杂一点。这时,建议你采用一些外部硬件调试器,如一个基于JTAG的调试器。虽然不是必不可少的,但在为自定义的硬件开发BSP时这将是有益的。一旦你的BSP开始工作,bootrom映像将被烧入到目标的闪存(使用各种可行的方法) 。Bootline设置该bootline包含VxWorks bootrom需要的把VxWorks的内核image下载到目标机内存的所有信息。下面的表格描述了参数以及用于实际boot string 的abbeviation。boot string是存储信息到非易失RAM (假设目标板支持非易失RAM ) 所用的格式,默认时存储到bootrom的image。 bootrom提出的这些更人类可读的格式与p命令。参数 Boot StringVariable 描述 Boot Device N/A 启动用的驱动器。这些代表驱动器的缩写名。例如ene, fei或SCSI 。Unit Number N/A 目标机上有多个驱动器的情况下驱动器的数目。通常该值是零。Processor Number N/A 底板上处理器的数目(不在底板上的目标板不需要此值)Host Name N/A 用于网络启动的主机系统名File Name N/A 用于启动的映像的路径名Inet on Ethernet e 用于启动目标及系统的以太网接口的IP地址(或从本地盘启动时指定一个地址,如果,但要初始化网络) 。或者,该地址可以包含十六进制的网络掩码,如 : ffffff00 。Inet on Backplane b 背板网络的IP地址(如果使用背板网络)Host Inet h 网络加载时主机的IP地址Gateway Inet g 主机和目标机不在同一子网时的网关。注:此地址是不是用来设置默认路由,它仅创建链接到指定主机的显式路由。User u 用于网络启动的用户名FTP Password pw 如果设定了FTP密码,网络启动协议由RSH转到FTP 。忽视非网络启动和TFTP启动。Flags f 特殊启动选项(见下表)Target Name tn 目标及系统名(可选)Startup Script s target shell将要执行的启动脚本(假设内核image中包含target shell),它被设置为自动运行启动脚本。Other o 用于向内核image传递各种参数表中的前五项没有与他们相关的变量,因为它们由启动字符串的初始化部分定义: “设备(单位,处理器)主机:文件名变量 ” 。这里有两个启动字符串的例子(适应页面他们分为两行;他们必须是单一的字符串才能运行) : ene(0,0)host:/home/vxworks/target/config/assabet/vxWorks h= e=00 u=vxworks tn=assabet dc(0,0)host:/home/vxworks/target/config/mv2604/vxWorks h= e=01 u=vxworks f=0x8 tn=mv2604启动标识可以改变bootrom 或已启动的内核系统的行为(因为启动后的内核也分析析bootline以初始化操作系统的某些参数) 。下面的表格显示了可用的选项:值 描述0x01 不是一个系统控制器(仅对某些板子适用) 0x02 从boot image下载局部变量和全局变量(只有当内核中包含目标机变量表组件时可用) 。0x04 禁止自动启动;相反,在bootrom重置或重启提示符处停止0x08 快速自动启动;将倒数值从10秒减到1秒0x20 禁用登陆安全(网络选项)0x40 自动配置参数;由bootrom 映像配置的内容决定使用BOOTP或DHCP0x80 用TFTP代替RSH或FTP下载启动映像0x100 使用代理ARP 常见的网络启动问题人们在网络上启动目标机系统时常会遇到一些问题。本节涉及其中几个。连接到网络接口的问题如果加到xxx的TCP / IP接口没有出现在控制台上,那么网卡的检测或是初始化出了问题 。请检查下列情况: 检查所选的启动设备缩写是否与实际控制器匹配 检查所选设备的驱动是否包含在bootrom中 (可以检查bootrom帮助显示的可用启动设备的清单) 。 检查网卡是否插好,所有的跳线及开关设置是否正确(只有老的网卡需要) 检查网卡是否通电-看看网卡本身或连接它的集线器的状态指示。 检查连接网卡的集线器或交换机的兼容性(如10/100速度的选择) 。 如果可能,在另一系统上使用网卡(如PC机) ,或者尝试启动一个不同的板子。下载VxWorks Image的问题如果加载启动文件名的消息出现,但没有其他反应(或经过长时间延时后超时) ,检查下列事项: 主机和目标系统是否位于不同的子网,请检查以下内容是正确:1 网关地址2 子网掩码 尝试通过主机或者网上处于同一物理层的机子在网络上侦听(如果你在计算机之间使用交换机,侦听不起作用。如果你想使用第三台计算机的话就用集线器连接他们) 。o 如果目标机有ARP请求但没有响应,那么检查主机上ARP表给出的目标板的MAC(以太网)地址是否正确。如果你已经改变了物理目标板但是使用相同IP就可能有问题,但使用的是相同的IP地址。如果不正确,在Unix系统的计算机中使用arp d主机名或在Windows系统的计算机中使用arp dIP地址来删除原来的条目。 如果您使用的是FTP ,并频繁重新启动,请注意适当分配FTP端口号,可能在目标机试图与主机建立数据连接时出现明显的延迟。在可能的情况下,使用RSH 。 如果下载中途停止(即你看到了一部分,但不是全部) ,那么检查RAM_LOW_ADRS和RAM_HIGH_ADRS之间的值以确保有足够的空间来加载映像。如果改变了RAM_HIGH_ADRS,请记得重建bootrom并重新将其下载到目标板的闪存或PROM。如果给出了错误号,但是消息不明确,请查下表错误编号 可能的原因0x3c 超时错误。请检查电缆和网关地址。此外,检查运行在主机上的任何可能阻止目标及访问的个人防火墙软件。0x212 启动行给出的FTP密码不正确。0xd0003 设备错误。这意味着启动设备的访问有一些问题。请检查您指定的设备是正确的以及它的驱动程序是否内置在bootrom 。另外,还要确保该驱动程序与你的控制器的版本相兼容(特别是对PCI网卡,OEMs往往经常改变PCI的供应商/设备ID对) 。0x250002 主机不接受来自目标机的RSH连接。检查用户的rhosts文件和(或)主机的/ etc / hosts.equiv文件。0x290010 启动文件不正确。检查输入的名称和主机系统的路径是否正确(特别是在Windows系统上,PC文件系统对FTP服务器可能有限制。0x320001 检查bootline的用户名和密码。如果正确,请检查主机的配置是否可以正确接受所选的连接类型(即RSH或FTP ) 控制转移到VxWorks的问题如果启动时显示xxx消息,但系统无法正确启动,请检查以下内容: 如果在控制台输入的字符得到正确响应,然后检查所有添加到初始化序列的代码是否能正确的返回到主控制初始化序列(启动任务) 。应用软件应该独立于初始化序列启动,而不是直接在根任务下执行他们。 如果系统完全冻结,尝试将配置降低到最低限度的工作的系统。另外,为初始化序列的reboot()函数加上返回值来查看它进行到了哪里。如果可以的话,使用基于JTAG的调试器看到的是什么原因造成的失败。 如果显示了异常讯息或其他错误信息并且控制台返回到bootrom ,使用异常的地址或错误信息确定错误的来源并予以纠正。重连接网络接口的问题如果主内核不能重新连接网络接口,检查如下内容: 确保已配置系统可以连接网络接口。独立的配置不会自动初始化网络协议栈) 。 确保内核配置采用了正确的网络驱动器。 如果系统没有将其MAC(以太网)地址永久保存在NIC,检查主核心烧入到设备的值和bootrom使用的是否相同。 下载符号表的问题假设目标系统已配置包括符号表,并已经从网络初始化(而不是建立在初始化方法) ,请检查以下内容: 如果表中有很多符号或vxWorks.sym文件非常大,系统在载入符号文件时可能耗尽内存。如果这样尝试独立配置符号表,或使用主机工具从文件中去除不必要的符号(如本地的符号)。 如果找不到该文件,请检查vxWorks.sym储存在相同的位置和VxWorks的启动image的位置一致。如果启动文件的名称已被更改,确保符号表文件和这个名字相匹配(它是通过简单地把.sym的扩展部分加到启动文件名) 。 如果加载符号表时有一个很长时间的延迟,但它最终加载成功,这个问题可能是:o Bootrom和主核的MAC地址不匹
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025粮油食品检验人员模考模拟试题附答案详解【研优卷】
- 脑梗塞静脉取栓护理查房
- 2026届安徽省合肥市肥西县化学九年级第一学期期中质量跟踪监视试题含解析
- 内蒙古通辽市科尔沁左翼中学旗县2026届九年级英语第一学期期末达标检测试题含解析
- 义务均衡发展培训
- 广东省佛山禅城区七校联考2026届英语九上期末综合测试试题含解析
- 幼儿园指导纲要解读培训
- 2026届辽宁省沈阳市大东区化学九上期末学业水平测试模拟试题含解析
- 2026届安徽省砀山县化学九上期末调研模拟试题含解析
- 2026届北京六十六中学化学九年级第一学期期中学业质量监测模拟试题含解析
- 电气安装工程培训课件
- 口腔科印模制取技术要点
- 2025年江西省中考语文试卷真题(含标准答案及解析)
- 工程石材吊装方案(3篇)
- 混凝土销售管理制度
- 2024年全国职业院校(中职组)技能大赛(植物嫁接)赛项考试题库
- 《江姐》教案-中职语文高一(高教版2023基础上册)
- T/CCT 017-2024中低温煤焦油
- 《中国传统文化》课件:佛教思想及其人生模式
- 医师多点执业协议书
- DB65∕T 3952-2016 反恐怖防范设置规范 学校
评论
0/150
提交评论