VxWorks编程指导-2

原创 2002年02月23日 08:43:00

l         支持C++开发

除了支持通常的C++ 开发库外(包括I/O流开发库和C++模板类库),作为可选组件的WIND基础类库提供了VxWorks包装类库和来自Rogue WaveTools.h++类库。

l         共享内存对象

VxMP选项提供的内存共享机制包括共享信号量,消息队列,在不同处理器上的任务间共享的内存区域。

l         虚拟内存(包含VxVMI选项)

VxWorks既提供了捆扎的虚拟内存支持,对自带内存管理单元的板也可提供非捆扎的虚拟内存支持。具有使部分内存不可缓冲和只读的功能,以及虚拟内存管理的函数集。

l         运行在目标机上的工具

Tornado开发系统中,开发工具运行在主机上,参见Tornado用户指导。然而,运行在目标机上的工具,模块上载,模块下载,符号表等都可以配置到VxWorks的核中。

l         帮助函数库

VxWorks提供了功能丰富的帮助函数集,包含中断处理,定时器,消息纪录,内存分配,格式化字符串,输入字符串,线性和环形缓冲区的操作,链表和ANSI-C函数库。

l         性能统计工具

VxWorks性能统计工具包括定时执行一些函数来统计任务的CPU利用率。

l         目标机代理

目标机代理使得Tornado开发工具远程调试VxWorks应用成为可能。

l         板支持包

VxWorks包含很多种板的板支持包。板支持包提供硬件初始化,中断安装,定时器,内存映射等函数

l         VxWorks模拟器和逻辑分析仪

Tornado附带了所有主机平台上的VxWorks模拟器和逻辑分析软件,VxSim模拟VxWorks目标机,用来做原型开发和搭建测试环境。WindView为模拟环境提供了先进的调试工具。

VxSim提供了网络支持和运行多个模拟器的能力。WindView为所有WRS的板支持包提供了软件逻辑分析仪

l         网络工具

VxWorks提供了对另外一个VxWorks的透明的存取机制和TCP/IP网络系统,MUX接口(包括多点传送,polled-mode以太网,zero-copy传输),BSD兼容的socket编程接口,远程过程调用(RPC),SNMP(可选),网络文件存取(包括NFS的客户端和NFC服务器,以及其它的网络文件存取工具例如RSH, FTP, 或且TFTP,BOOTPARP代理,DHCP, DNS, OSPF (可选),和RIP。不管是松耦合的串行线连接或以太网连接还是利用共享内存的紧耦合的底板总线连接,所有的VxWorks网络支持都遵照INTERNET协议。

参见VxWorks网络编程指导。

1.1.   多任务和任务间通信

现代实时系统都是基于相互补充的多任务概念和任务间通信概念。多任务环境可以允许将一个实时应用划分为多个独立的任务,每个任务有自己独立的执行线索和系统资源集。任务间通信允许这些任务同步和协调动作。

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

VxWorks多任务核WIND使用了中断驱动的,基于优先级的任务调度。它具有任务切换快速和中断开销低的特色。在VxWorks下,任何一个函数都可以作为一个任务来执行,有自己的运行场景和堆栈。控制任务的功能包括挂起,继续,删除,延时,改变优先级等。

 

WIND核提供了信号量作为基本的任务同步和互斥机制。WIND有多种信号量,每种信号量适合于不同的应用需求:二进制信号量,计数信号量,互斥信号量,和POSIX信号量。所有这些类型的信号量都是快速和高效的。这些信号量除了被应用开发者使用,也被广泛应用于VxWorks的高层功能开发中。

 

除了利用信号量进行任务间通信外,VxWorks还提供了消息队列,管道,套接字,和信号。可选组件VxMP提供了共享内存对象作为运行在不同处理器上的任务间的通信机制。

基于Vxworks的Socket编程

近段时间接触一个Vxworks的项目,写了一些关于
  • wtchappy
  • wtchappy
  • 2014年07月06日 12:42
  • 1794

vxworks中vxbus使用入门

或许用过vxworks操作系统的人不多。但作为曾经的嵌入式操作系统老大,介绍一下还是非常有意义的。 开发步骤 1.       添加新模块(这里会告诉vxworks该模块的入口函数); ...
  • andyzzjbcp
  • andyzzjbcp
  • 2016年08月28日 20:47
  • 907

常用Vxworks编程API

vxWorks编程API API的列表用于查询,并包含部分函数细节   一、官方的Program Guide 位于安装目录下:\docs\vxworks\guide\index.html...
  • luopeiyuan1990
  • luopeiyuan1990
  • 2013年08月29日 16:16
  • 2636

vxworks 与 Qt项目中的几点总结

vxworks 与 Qt项目中的几点总结2016年至2017年陆陆续续的做了一个关于Qt应用程序在Vxworks上运行的项目。下面就项目中的一些问题和体会做一下总结。 版本介绍: -Qt 4...
  • w5862338
  • w5862338
  • 2017年06月03日 21:51
  • 985

VxWorks网络编程

实现了与BSD4.4 TCP/IP兼容的网络协议栈,并且其实时性较之有很大提高。 通常使用以太网作为传输媒介。 在以太网协议之上,提供几种网络工具: 套接字(Sockets)允许运行在vxworks或...
  • abcflyer
  • abcflyer
  • 2016年11月21日 16:33
  • 1514

实验证明在一片Norflash上划分两个TrueFFS分区的误区

实验证明在一片Norflash上划分两个TrueFFS分区的误区 DanielLee_USTB 2013-8-1 QQ:382899443          这几天研究flash TrueFFS驱动,...
  • DanielLee_ustb
  • DanielLee_ustb
  • 2013年08月02日 00:11
  • 2410

GTK+编程入门(1)—简介与glib库

GTK+编程入门(1)—简介与glib库(2015-7-23)分类:GTK+一:GTK+简介  GTK+是一个软件开发工具包,其设计目的是支持在 X Window系统下开发图形界面的应用程序。GNU所...
  • LazyBone1994
  • LazyBone1994
  • 2015年08月02日 12:50
  • 953

VxWorks内存分配分析

内存显示函数memPartShow static PART_ID  testMemoryPartId = NULL; void mem_test() {     char *memoryPo...
  • egbert123
  • egbert123
  • 2017年05月07日 22:36
  • 707

VxWorks中基于消息队列实现C/S通信

预备知识 在VxWorks中实现基于消息队列的C/S通信主要用到了Wind内核中的消息队列API,msgQLib。 这个库里面的发送消息和接受消息的API分别为: STATUS msgQSe...
  • liushuaikobe
  • liushuaikobe
  • 2013年04月17日 13:42
  • 3793

Linux相对于VxWorks的优势

最近的Cisco抛弃了其专有的IOS核心,在 ASR1000的控制平面软件上采用了Linux为基础平台。据传Huawei、H3C等厂商的软件平台也纷纷转向以Linux为基础,而以前他们都采用 vxWo...
  • luckydarcy
  • luckydarcy
  • 2016年09月09日 11:39
  • 1595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VxWorks编程指导-2
举报原因:
原因补充:

(最多只允许输入30个字)