VxWorks 编程指导
1. 概述
1.1. 介绍
本手册讲述的是VxWorks,VxWorks是Tornado开发系统的高性能实时操作系统。本手册包括以下内容:
l 在实时应用中怎样运用VxWorks。
l 怎样运用VxWorks的可选组件WIND基础类,VxMP,和VxVMI。
l 不使用工程怎样配置和编译VxWorks。
l 怎样运用VxWorks的Target驻留工具。
l VxWorks支持的所有体系结构的相关信息。
l Wind River System的C和C++编码规范。
在本章开始的地方列出了描述如何在Tornado开发系统中安装和启动VxWorks的章节。然后概述了在实时应用的开发中VxWorks的作用,VxWorks的功能,Wind River System的客户服务,以及本章的书写约定。
1.2. 初识Tornado开发系统
以下章节提供了关于安装和配置Tornado开发系统(包括VxWorks)的帮助信息。配置信息取决于你使用得开发主机是Windows还是Unix;因而“Tornado用户指导”是平台相关的。
(省略)
1.3. VxWorks:实时应用开发的助手
Unix和Windows都是很好的应用开发和交互式应用的操作系统平台,然而他们不适合于实时应用。另一方面,过去的实时操作系统都没有为应用开发和应用的非实时组件(譬如向GUI)提供很好的运行环境。
Wind River哲学是利用两个相互协作的操作系统来互相补充对方的不足(譬如VxWorks和Windows 或 VxWorks和Unix),让他们各尽所长。VxWorks为应用提供实时性,而主机被用来进行应用开发和运行非实时的应用程序。
VxWorks是可以裁剪的,你可以将VxWorks裁剪为只包含你的应用所需要的部件。在开发期间为了方便你的开发,你可以加入网络部件,当发行最终版本时为了节约资源你可以轻松的去掉网络部件。
你可以利用交叉开发的主机来编辑,编译,连接,存储实时应用的执行代码,然后在VxWorks上运行和调试实时应用。最终的VxWorks应用可以独立运行(从ROM或磁盘),不再需要网络或主机。
当然,在混合应用中主机和VxWorks可以一起工作,主机利用VxWorks作为网络环境中的实时服务器。例如,VxWorks系统控制机器人,而它本身被运行在主机上的专家系统控制,
或几个VxWorks系统控制制造设备,而它本身被连向主机,利用主机来跟踪存货清单或产生报表。
1.4. VxWorks部件总览
本小节概述了VxWorks部件,我们将在后面的章节对各部件进行详细描述。对各部件的详细细节,请参照相关的章节。
l 高性能实时核心部件
VxWorks的核心,wind,包含了基于优先级调度的抢占式多任务,任务间的同步机制,通信机制,中断处理,定时器,和内存管理。
l POSIX兼容性部件
VxWorks提供了1003.1b标准规定的大部分接口。
l I/O系统
VxWorks提供了快速灵活的Ansi-C兼容I/O系统,包括Unix标准的缓冲I/O和POSIX标准的异步I/O。VxWorks包含了下面列出的驱动:
网络驱动 -为网络设备(以太网,共享内存)
管道驱动 -为任务间通信
RAM磁盘驱动 -为内存驻留文件
SCSI驱动 -为SCSI磁盘,磁碟,磁带驱动器
键盘驱动 -为PC –X86键盘驱动
显示器驱动 -为PC –X86 显示器驱动
磁盘驱动 -为IDE磁盘和软盘驱动器
并行口驱动 -为PC目标机的并行口
l 本地文件系统
VxWorks为实时应用提供了可裁剪的快速文件系统。第一个文件系统是MSDOS兼容的文件系统,第二个文件系统是RT-11文件系统,第三个文件系统是“裸碟”文件系统,第四个文件系统支持SCSI磁带设备,第五个文件系统支持CDROM设备。(待续)