导航:首页 > 源码编译 > vxworks编译版本

vxworks编译版本

发布时间:2024-04-19 12:06:01

‘壹’ 请教VxWorks的.o库文件的编译方法

查看ldpentium命令帮助吧 可以达到你的目的
1)把多个.c文件编译成对应的.o文件,然后汇总编译成一个.out文件;
2)把多个.c文件编译成对应的.o文件;
3)把多个.c文件编译成对应的.o文件,然后汇总编译成一个.a文件;(把这个汇总的库文件拿到其它工程中使用,一编译就报错)
能否通过修改Makefile文件,达到".c"+"small.o" = "big.o"的目的。

‘贰’ 如何把openssl库在VxWorks下进行编译或者说把openssl库编译成vxworks下能用的.a库文件,如何去做

下一个完整版的cygwin,免费开源的东西,官网上就有下的
然后将工程文件拷入cygwin工作目录
在cygwin控制台下CD到工程目录

与上面那些步骤同时,先进入Tornado的host/x86-win32/bin目录,把该目录下的cygwin1.dll删除或者重命名(建议保留,因为Tornado编译还要用这个),然后把这个bin目录设置到windows的path环境变量中。记下bin目录下所用的编译器cc和归档程序ar的名字(比如PPC的架构就叫ccppc和arppc)

再在cygwin控制台下输入 CC=ccppc AR=arppc ./configure 运行(PPC为例,如果为其他架构等号后面的值做相应修改)
等配置完毕后打开生成的Makefile文件 找到-IInclude这一个flag修改成-I/cygwindriver/e/tornado/target/h (这里目录也只是举例,根据自己情况修改)
再之后加上-I/lib/include
保存

再在cygwin控制台下输入make运行
这时候应该就可以开始编译了

但是光做这些修改可能还是会多多少少的报错
移植细节我这一时半会也没办法细说 只能自己看报错来改了

‘叁’ 銆愮揣镐ャ慥xWorks 缂栬疟阌栾锛岀己灏/target/h/make杩欎釜鐩褰曪纴姹傚ぇ绁炲府蹇

涓轰粈涔堟槸鍦↙INUX鐜澧冧腑缂栬疟锛燂纻
璇濊翠綘涓嬬殑鏄闾d釜骞冲彴镄勭増链锛孷X5.5 for what锛
Vxworks5.5镄勫唴镙告湰韬鍦ㄧ紪璇戠殑镞跺欐槸渚濋潬tornado鐜澧冭繘琛岀紪璇戠殑锛岄噷闱㈡湁鍖呭惈浜呜稿氩叕链夊拰绉佹湁镄勮祫婧愶纴浣犺繖閲屾彁绀虹殑涓嶆槸娌℃湁婧愮爜锛岃屾槸娌℃湁缂栬疟搴掳纴杩欎簺涓滆タ鍙链夊湪tornado閲岄溃镓俱
浣犲彲浠ヤ粠缃戜笂涓嬩竴涓猼ornado2.2瀹夎呬竴涓嬶纴鍙﹀栦綘鍐嶆弿杩颁笅浣犵殑闇姹傚惂锛岀洰鍓嶆潵鐪嬩綘杩欑嶆柟寮忎粠镙规湰涓婃槸瀹屽叏琛屼笉阃氱殑

‘肆’ vxworks 使用什么编译器

我了解只有 gnu,楼上的回答很全面啊。

‘伍’ 如何在VMWare上安装VxWorks操作系统

准备工作

我们假设您有一台普通配置的PC机,并安装了Windows2000操作系统。其次您需要安装Tornado 2.2 for pcPentium开发环境。缺省安装的Tornado 2.2 for pcPentium可能不包括pcPentium的BSP组件,但该组件可以从风河公司(Windriver)的网站免费下载。

我们将在下文以WIND_BASE引用Tornado的安装路径。

其次是要安装VMWare软件,这里我们使用4.0的版本。如果您还没有该软件,也可以从VMWare的网站下载试用版。

最后,由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD的PC-NET网卡的VxWorks系统驱动,可以从AMD网站免费下载。

一张1.44M的软盘,用于制作系统引导盘。

准备并安装好以上软件后,就可以开始下一步的工作了。

开始安装

编译网卡驱动程序

VMWare为运行于其上的操作系统提供虚拟网卡支持,该网卡类型即为AMD的PC-NET。实际上,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过测试,对于VMWare无法正常工作,所以您需要从AMD的网站下载最新的驱动程序。

下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到Tornado目录下。如果提示是否允许覆盖文件,则选择允许。

此后按如下步骤完成驱动程序的编译和替换:

打开一个控制台窗口,运行批处理程序:$(WIND_BASE)\host\x86-win32\bin\ torVars.bat;
重新定位到$(WIND_BASE)\target\src\drv\end目录,运行:
make CPU=PENTIUM tool=gnu ln97xend.o

其间会产生一些警告,但这不会影响我们的工作。

重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xend.o复制到此目录下。备份此目录下的文件libdrv.a;
运行命令arpentium -d libdrv.a ln97xEnd.o,删除libdrv.a中原有的ln97xEnd模块,然后再运行命令:
arpentium -ra iOlicomEnd.o libdrv.a ln97xEnd.o

将我们刚刚创建的新模块添加进去。

到此有关网卡驱动的设置就完成了。注意不要关闭这个窗口,后面还要使用。修改配置文件

在这一节中,我们要修改编译VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEnd.c这个文件,以使系统的网络功能正常运行。

定位目录到$(WIND_BASE)\target\config\pcPentium并打开该目录下Config.h文件;
我们首先要修改VxWorks的启动参数。先查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM分支下的定义如下:
#define DEFAULT_BOOT_LINE \

"lnPci(0,0)your_host_name:d:\\vxWorks h=192.168.80.169 e=192.168.80.254 u=target pw=vxworks tn=target"

其中:

lnPci(0,0)指定了使用第0个网卡和第0个处理器,lnPci这个标识会因为使用的驱动程序不同而有所不同,但这里用lnPci就可以了;
your_host_name指定您的主机的名字,使用Windows系统的主机名就可以;
d:\\vxWorks指定了VxWorks映象下载的完整路径;
h=192.168.80.169是主机的IP地址,就是您当前正在使用的系统的IP地址;
e=192.168.80.254是目标机的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)即可;
到此为止,对config.h文件的修改就完成了,保存修改,然后再打开同一目录下的sysLn97xEnd.c文件;
这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,这样就可以了。最后别忘了保存。
到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。编译程序

这一节我们要编译生成bootrom引导程序和VxWorks运行映象。

打开您的Tornado开发工具,在Build菜单下选择Build Boot ROM,弹出如下对话框:


在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的系统引导程序和运行时的代码映象。这里还要提醒读者,在您每次修改完系统的配置信息(如:config.h)后,都要重新创建一个工程来编译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”子菜单,弹出如下对话框:

当User Name为“target”时,修改“Home Directory”为D盘根目录(此路径由上面的DEFAULT_BOOT_LINE参数决定),同时修改口令为“vxworks”,最后点击“Done”按钮完成修改;

为了便于调试,我们还要打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,弹出如下对话框,其中除了“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”菜单,弹出如下对话框:

在“Description”中任意填写一个名字,这里是“net00”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“192.168.80.254”(由DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一项中选择您的映象的完整路径,这里是“D:\vxWorks”(由DEFAULT_BOOT_LINE参数决定)。

完成以上两项配置,点击“Launch”按钮,就可以启动Target Server了。

再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择“192.168.80.254@your_host_name”。这时您会发现工具条中一些原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。

现在您就可以开始联机调试您的VxWorks应用程序了。

‘陆’ 请详细介绍一下VxWorks

国外商用嵌入式实时操作系统 VxWORKS 介绍
1 综述
WRS(Wind River System) 公司是国际着名的嵌入式实时操作系统的供应商。其产品 VxWroks 早期运行在 VRTX 、 pSOS 及自身运行较慢的 WIND 内核等实时内核之上,从 5.0 发行起,不再支持别的内核,只运行自己的 WIND 内核(重写的 WIND 内核)。这个系统的基本设计思想是要充分利用 VxWORKS 和 Unix/Windows 的优点,使之与嵌入式软件相互补充达到最优。

Unix 和 Windows 虽然用户界面友好、开发工具丰富,但是由于嵌入式实时系统的时间、空间的局限性,他们不适用于实时应用开发。传统的实时操作系统提供的用于开发的环境资源(非实时组件)又非常贫乏。 VxWORKS 使嵌入式系统开发人员能在嵌入开发环境下更好的使用 Unix/Windows 。

VxWORKS 能够一方面处理紧急的实时事务,另一方面,让主机用于程序开发和非实时的事务。开发者可以根据应用需要恰当地裁减 VxWORKS 。开发时可以包含附加的网络功能加速开发过程,在产品最终版本中,再去掉附加功能,节省系统资源。

WRS 公司还提供最新一代的 IDE---- 主机上的集成开发环境 Tornado, 开发者通过 Tornado 来编辑、编译、连接和存储实时代码,但是实时代码的运行和调试都在 VxWORKS 上进行。最终生成的目标映像可以脱离主机系统和网络,单独运行在 ROM 、磁盘(软 / 硬)或 FLASH 上。主机系统和 VxWORKS 可以在一个混合应用中共同工作:通过网络联接,主机使用 VxWORKS 系统作为实时服务器。

1995 年开发出的 Tornado ,赢得电子设计新闻该年度的“嵌入式开发软件创新奖“( Electronic Design News' “Embedded Development Software Innovation of the Year” award ) [9] 。

2 特点
• 支持多种硬件环境

VxWORKS 操作系统支持的 CPU 包括: Power PC 、 68K 、 CPU32 、 Space 、 i960 、 x86 、 Mips 等等;同时支持 RISC 、 DSP 技术。

• 微内核结构,任务间切换时间短,中断延迟小,网络流量大。

• 较好的可剪裁能力,可裁减组件超过 80 个,用户通过交叉开发环境方便地进行配置。

• 支持应用程序的动态连接和动态下载,使开发者省去了每次调试都将应用程序与操作系统内核进行连接和下载的步骤,缩短了编辑 / 调试的周期。

• 较好的兼容性:兼容 POSIX1003.1b 标准( Portable Operating System Interface for computer Environments,= Portable Operating System UNIX , IEEE 1003.1 ) 。

• 高可靠性、高可用性、高安全性。

3 组成
VxWORKS 包括进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等部分,占用很小的存储空间,支持高度裁减,保证系统能以较高的效率运行。 VxWORKS 体系结构如图 1.5 所示 [9][10][59] 。

VxWORKS 包括以下部分:

• Wind 内核

Wind 内核包括基于优先级的抢占式多任务调度机制、任务间的同步和进程间的通讯机制以及中断处理、看门狗和内存管理机制。不仅提供多种信号量支持任务间同步和互斥的机制,而且提供消息队列、管道、套接字和信号等机制支持进程间通信。

• I/O 系统

VxWORKS 提供了快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的缓冲 I/O 和 POSIX 标准的异步 I/O 。还包括多个驱动程序(包括网络驱动、管道驱动、 RAM 盘驱动、 SCSI 驱动、磁盘驱动、显示驱动、键盘驱动、并口驱动等)。

• 文件系统

VxWORKS 提供了快速文件系统适合于实时系统应用。它拥有多种支持使用块设备的本地文件系统。这些设备都使用一个标准接口,从而使得文件系统能够灵活地在设备驱动程序上移植。

• 板级支持包 BSP(Board Support Package)

板级支持包对各种板的硬件功能提供了统一的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。每个板级支持包括一个 ROM 启动( Root ROM )或其他启动机制。

• 网络设施与产品

• 虚拟内存与共享内存

VxWORKS 的 VxWMI 为带有 MMU ( Memory Mapping Unit )的目标板提供了虚拟内存机制。 VxMP 提供了共享信号量、消息队列和不同处理器之间的共享内存区域。

• 目标代理( Target Agent )

目标代码遵循 WDB(Wind Debug) 协议,允许目标机与主机上的 Tornado 开发工具相连。如图 1.6 所示,目标代理是以 VxWORKS 的一个任务的形式运行。

Tornado 目标服务器向目标代理发送调试请求。调试请求通常决定目标代理对系统中其他任务的控制和处理。默认状态下,目标服务器与目标代理通过网络进行通信,用户也可以改变通信方式。

VxWORKS 操作系统自 1996 年进入中国,广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。它是研究嵌入式实时操作系统的一个极好对象。

阅读全文

与vxworks编译版本相关的资料

热点内容
墨镜慧眼怎么下载厂商的app 浏览:57
iphone加密专线 浏览:489
aes产生加密文件 浏览:408
编程实现蓝牙通信 浏览:764
怎么恢复掉签的app 浏览:847
服务器部署ip地址 浏览:321
涉密场所周边安全防护距离算法 浏览:672
安卓fpse模拟器怎么设置加速 浏览:946
建行app怎么生成电子签章 浏览:508
获取当前时间javadate 浏览:73
带密码的wifi如何加密 浏览:237
服务器怎么变成阵列 浏览:718
web前端黑客技术pdf 浏览:71
育儿百科全书pdf 浏览:600
任务栏启动命令 浏览:912
编译优化等级区别 浏览:757
unix网关命令 浏览:876
想自己做网站要学编程吗 浏览:597
租个服务器开个私服需要什么 浏览:273
图片换成pdf格式 浏览:663