vxworks编译环境
1. VxWorks在x86下开发环境的建立及启动
工具用tornado(vxworks5.5)或workbench(vxworks6.0) for X86版
交叉开发环境
工具会生成bootrom类似于windows's bios 和 vxworks映像。
bootrom放在nvrom里,vxwork image放在flash,CF card, or 本机(通过网口下载)
启动时,先运行,bootrom, 再把vxworks加载进来就OK了。
2. vxworks编译怎么设置环境变量
你用的sde gcc编译,与workbench的标准gcc编译代码不兼容。 要能用,只能用同一个编译器编译,就是用workbench编个.a才行。
3. 如何在VxWorks中添加应用程序
如何在VxWorks中添加应用程序
1、直接调用肯定是不行的,首先CPU架构就不是一类的,嵌入式的软件多使用ARM或PowerPC等RISC指令集的CPU,但是如果你有源代码的话,可以在vxworks的编译环境中重新编译一下就行了,一般使用两个重要参数CPU=你的CPU类型如PPC32,TOOS=gnu等。
2、vxworks与无操作系统的单片机不同,首先你的程序能跑起来,说明vxworks操作系统已经正常运行并控制你的程序正常运行了;在这种情况下,如果你再下载一个程序进去,如果是相同的程序,有两种情况:一是你的程序是可重入的,可以运行;二是你的程序不可重入,不能正常运行。如果程序不同,应该可以正常运行。
4. 如何搭建vxworks6.7开发环境
vxWorks
开发环境构建步骤及开发资源
技创科技
(Technique Innovator Inc.) www.techor.com
一、
Tornado
集成开发环境构成
Tornado
是集成开发环境的名称,主要由帮助及参考文档、操作系统
vxWorks
、开发工
具(编译器、调试器、编辑器、
target server
等,据统计,挂接在
Tornado
下的可选工具
和第三方有数百个)等三部分构成,分别对应三个目录:
i.
docs/
所有文档都集中在该目录中
, books.html
是根索引,
5. 【紧急】VxWorks 编译错误,缺少/target/h/make这个目录,求大神帮忙
为什么是在LINUX环境中编译??
话说你下的是那个平台的版本,VX5.5 for what?
Vxworks5.5的内核本身在编译的时候是依靠tornado环境进行编译的,里面有包含了许多公有和私有的资源,你这里提示的不是没有源码,而是没有编译库,这些东西只有在tornado里面找。
你可以从网上下一个tornado2.2安装一下,另外你再描述下你的需求吧,目前来看你这种方式从根本上是完全行不通的
6. 请详细介绍一下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 年进入中国,广泛应用于通信、国防、工业控制、医疗设备等嵌入式实时应用领域。它是研究嵌入式实时操作系统的一个极好对象。
7. 如何把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运行
这时候应该就可以开始编译了
但是光做这些修改可能还是会多多少少的报错
移植细节我这一时半会也没办法细说 只能自己看报错来改了
