所需软件如下:
点击获取上述软件
通过上面的链接获取所需软件合集后,找到VXWORKS-VMWARE/VMware_workstation_full_1252exe,双击后一路点击下一步完成安装。
提示输入序列号时,输入:5A02H-AU243-TZJ49-GTC7K-3C61N
安装后如提示有新版本,不要选择升级,以免版本不匹配导致破解失败。
VXWORKS-VMWARE/vmiso是一个制作好的vxworks引导盘。
Step 1 打开VMware,创建新的虚拟机:
首先安装虚拟光驱Daemon_Tools_Lite_1040190exe,安装过程中可能会询问是否安装一些设备软件,全部选择安装即可。
Step 1
在C盘新建一个文件夹flexlm,将licensedat拷进去,并在环境变量中添加:
打开windows网络适配器设置,在VMware Network Adapter VMnet1上右键→属性→IPv4→按照下图配置IP地址
编辑虚拟机设置:菜单栏→虚拟机→设置,将网络适配器设置为仅主机模式
Step 1 菜单栏File→New Project
通过Tornado的菜单栏→Tools→Target Server→Configure打开配置对话框,点击New。
Target Server中填写target。
在Target Server Properties下拉框中选择Core File and Symbols,在File中选择bootable项目build生成目录中的vxworks,如下图,如我这里配置的是:D:\Tornado22\target\proj\wangxh_demo\default\vxWorks
在Target Name/IP Address中填写19216810288
在Target Server Properties下拉框中选择Back End,选择wdbrpc,在右侧Timeout编辑框内填写10
在Target Server Properties下拉框中选择Memory Cache Size,设置缓存大小为102400 K Byte。
最后,点击Launch。
在开始菜单找到FTP Server,运行
点击菜单栏→Security→Users/rights
不要关闭FTP Server软件窗口。
打开VMware,选择第一项“BootRom启动”
通过上面的 *** 作,VMware中已经运行着我们创建的vxworks系统。
现在打开Tornado,创建一个downloadable应用工程
注意这里的选择,要和你的vxworks系统的CPU型号一致。因为我们的downloadable项目最终是要download到vxworks虚拟机中运行的,所以CPU型号要匹配。
编译一下,一个out文件生成好了
启动Target Server,上文中提到了关于Target Server的配置,现在检查一下配置,点击Launch,右下角任务栏中会出现一个“箭靶”的图标
如果你的VMware虚拟机开着,那么会是一个**的图标,target@wangxh-PC就是这个目标机的名字。
现在我们点击右侧的靶型图标:
comming soon……
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
VxWorks是由美国Wind River 公司推出的一种强嵌入式实时 *** 作系统(RTOS)。它采用微内核结构,具有高可靠性、实时性、可裁减性等特点,而且支持多种CPU。VxWorks的一个重要特点是它的可移植性,应用程序编码在很大程度上与目标板的硬件和结构无关。它把所有特定的硬件功能都集成在一个称之为板级支持包BSP(Board Support Package)的库中。
目前为止Wind River公司提供的基于某一CPU 评估板的BSP 超过200个,当用户开发自己目标板的BSP时,比较简单的方法是从所提供的BSP中选一个最接近的来修改。这里提到的BSP的设计就是指这种板级的对依赖于硬件的源代码做必要的修改、增加或删除,以满足特定的硬件环境。
1 BSP的概念
BSP(Board Support Package,——板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,这源于嵌入式 *** 作系统与硬件无关的设计思想。如今的各种嵌入式系统,都采用了分层的设计方法。它将系统中与硬件直接相关的一层软件独立出来,称之为板级支持包(BSP)。这里BSP的主要功能为屏蔽硬件,提供 *** 作系统的驱动及硬件驱动,具体功能包括:
(1)目标板硬件初始化,主要是CPU的初始化,为整个系统提供底层硬件支持;
(2)为 *** 作系统提供设备驱动程序和系统中断服务程序;
(3)定制 *** 作系统的功能,为软件系统提供一个实时多任务的运行环境;
(4)初始化 *** 作系统,为 *** 作系统的正常运行做好准备;无线SOC开发平台499元 S3C44B0 ARM7开发板378元 S3C2410 ARM9开发板780元 AT91SAM7S64 ARM7 单片机开发板之王——ELITE-I单片机学习开发系统1200元 S3C2410 ARM9开发板(II) 950元 EPM1270T144C CPLD开发板 480元
2 BSP文件组成及功能
BSP中包括源代码、头文件、MAKE文件、派生文件以及二进制驱动程序模块。在VxWorks 中硬件驱动程序分为通用性和BSP专用性两类。在开发BSP时,既要对BSP专用的驱动程序提供支持,还要将通用的设备驱动程序集成在一起。因此,编写的设备驱动程序,可根据具体情况放在BSP中的合适位置。
BSP文件在 VxWorks /target /config /all和VxWorks /target /config / bspname文件夹里。其中,all文件夹里的文件是所有BSP的通用文件,bspname文件夹的文件是用户自己定制的BSP文件[1]。经过编译、链接,并在makefile和dependbspname等文件的控制下,原程序最后将生成镜像。BSP的组成及主要文件功能如下。
(1)Tornado\target\config\all\目录下的文件。包括bootConfigc,bootInitc,usrConfigc等,它们是所有BSP共享的,主要是缺省定义了所有VxWorks配置以及Boot Rom的初始化控制代码,所以不是特别需要不要更改里面的任何文件。
(2)Tornado\target\config\bspname\目录下的文件。包括makefile,dependbspname,configh,bspnameh,romInits,sysALibs,sysLibc,sysSerialc等,其中configh中包含特定CPU板的所有包含文件和定义。
VxWorks支持多种处理器平台,用户可以针对不同的目标系统,通过修改这些文件来完成BSP与 VxWorks在不同平台上的移植。
3 Vxworks映像分类及其启动过程
31 VxWorks映像及其分类
VxWorks在启动过程中涉及到两个映像文件:bootrom映像和VxWorks映像。这两个映像文件都要使用BSP代码。bootrom文件是从ROM引导VxWorks的引导目标模块,用于对目标板进行初始化,加载VxWorks *** 作系统映像。VxWorks image包含VxWorks OS,最终运行于目标板上。VxWorks映像按加载类型可分为:可下载映像和可引导映像;按运行方式分为在ROM中和在RAM中两种。
可下载映像(Loadable Image),它实际包括两部分,一是VxWorks,二是boot ROM,两部分是独立创建的。可引导映像(Bootable Image)是将引导程序和VxWorks融为一体的映像,一般为最终产品,包括不驻留ROM的映像和驻留ROM的映像两种类型[2]。
VxWorks在ROM中运行,只要把VxWorks image的data段复制到RAM的RAM-LOW-ADRS,text部分留在ROM并在ROM执行。在ROM中运行VxWorks可以节省RAM空间,有利于应用程序有更大的空间运行,但是运行速度相对较慢。VxWorks在RAM中运行,写入ROM中的boot或VxWorks image是压缩的,需先解压并复制所有的text或data到RAM的RAM-LOW-ADRS,在RAM中运行。
1 假设Tornado装在d盘tornado目录下
2 假设使用gnu编译生成tornado映像
3 首先,找到以下文件:
D:\Tornado\target\h\tool\gnu\defsgnu
使用diab编译器时文件为
D:\Tornado\target\h\tool\diab\defsdiab
4 在文件中搜索ansi关键字,找到下面3行
OPTION_ANSI = -ansi
CC_COMPILER = -ansi
C++_COMPILER = -ansi
5 在ansi前面加#注释掉即可,例如改成
CC_COMPILER = #-ansi
编译选项的其他关键字也可以在这个文件中设置。
帮助文档
在docs目录下存放各种帮助手册,主要是Tornado和VxWorks相关的,也有特殊组件相关的,如TrueFFS,WindView。帮助文档有html格式或pdf格式,建议使用html格式,方便交叉关联。
如果使用html格式的手册,bookhtml为手册总入口,进入能看见各种手册列表,选择就能进入相关手册。Docs根目录下还包含其他几个入口文件,如下表:
bookhtml 手册总入口
Tornado_Referencehtml 分项描述各主机工具,如WindSh,elfToBin等
Tornado_API_Referencehtml 描述Tornado API,一般用户不用,按结构层次分类
l ibIndexhtml 描述Tornado API,按库名分类,类似VxWorks的库参考
BSP_Referencehtml 一般与自己硬板不符,可以看看sysLib
VxWorks_Reference_Manualhtml VxWorks 库手册,以库名排序描述,开发者经常参考
rtnIndexhtml VxWorks 库手册,以函数名排序描述,开发者经常参考
在开发中遇到问题需要帮助时,应选择合适的文件入口进入,可以加快资料查询速度。比如我们想查一个已知名称函数的原型参数或归属库,可以选择rtnIndexhtml进入,可以直接找到该函数,具体帮助文档在相应的库描述中。
WindRiver的帮助文档很多,且归类不是太清晰,有些文档是直接从源代码中提取的。所以阅读帮助时需要讲究一定的顺序和方法。对 于初学者可以先看 “Tornado 20 Getting Started Guide”,该手册在有些版本中没有,可以到网上找找。通过该手册,用户可以建立对Tornado开发环境的基本印象,熟悉基本工具的 *** 作等。 该手册用VxSim进行例程讲解,不需要具体的硬件目标板,这对初学者也很方便。
接下来用户可以看看WindRiver的培训资料,Workshop系列,包括4部分。以PowerPoint讲稿形式,内容比较简洁,快速阅读后可以建立对Tornado和VxWorks更深层次理解。
如果你觉得对VxWorks这个RTOS的概念还比较模糊,或没有嵌入式系统开发的从业经验,可以阅读VxWorks编程指南,它对VxWorks基本概念作了全面的描述。若该手册和VxWorks的最新版本有不符的地方,应该以VxWorks的库参考手册为准。
如果你不知道如何Tornado的功能,或在使用中遇到问题,可以参考Tornado用户指南,它对Tornado的直接用户使用有很大的帮助。
当你阅读完上面的各手册后,基本概念已经建立,可以进行实际系统开发。在实际开发过程中,用户最常用的手册为VxWorks库参考手册,不用仔细通读该手 册,只在平时遇问题时查询用。VxWorks库参考手册中文档直接由代码中提取,与VxWorks实际库情况最为吻合。
当然你在开发中会遇到自己专用组件的使用,如TureFFS、WindView、dosFs20、VxDCOM、VxFusion等,它们有专门的手册帮助你如何使用。
在开发过程中查询文档与初学时阅读文档不同,不追求全面的概貌,只需要局部的细节。这时我们要善于利用各手册的index部分,直接查询自己关心的关键词,可以快速找到需要的资料。这也是为什么我推荐使用html格式帮助的原因。
在你已能熟练使用Tornado和VxWorks后,若想再深层次求索细节,源代码文件将是你最好的文档。不但可以帮助明白工作机制细节,也学到一些编程技巧和规范。
除了WindRiver提供的正式文档,还有很多参考资源。如WindSurf,邮件组,论坛,中文书籍等。具体索引可以参考本书后附录。
vxWorks下如果要获得网络的功能,需要在编译vsb project的时候打开IPv4或者IPv6的协议栈,然后编译;然后在vip project中加入网络的相关component,其中有IFCONFIG的component,然后build,启动之后的target,可以使用ifconfig或者“cmd ifconfig -a” 方式来查看vxWorks系统下网络的状态,当然也可以通过ifconfig命令来配置。
以上就是关于VxWorks+Tornado从听说到入门全部的内容,包括:VxWorks+Tornado从听说到入门、vxworks 目标屏幕 拷贝、如何定制VxWorks等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)