介绍

VxWorks 7 SDK是专门为VxWorks应用程序开发人员提供的开发环境,包括以下功能:

  • 基于 clang/LLVM 的标准交叉编译工具,可用于构建可下载内核模块 (DKM) 和 RTP(实时进程)应用程序
  • 简化的构建管理:makefile、cmake、roll-your own
  • 特定于目标/架构:包括可在目标平台上启动的通用 VxWorks 内核
  • 用于应用程序开发的头文件和库
  • 风河调试器 (wrdbg)
  • 文档

本指南可帮助您开始并运行针对VxWorks的平台而开发的应用程序。 您可以使用它来创建新应用程序,或者只是探索 VxWorks 功能。

概述

VxWorks 6.9包括VxWorks操作系统、Wind River Workbench3.3开发环境、Wind River Diab编译器、Wind River GNU编译器,并集成了一些中间件和主机工具。

该平台有助于开发人员开发多样化的项目和应用,如VxWorks基于内核的应用(DKM)、VxWorks实时任务应用(RTP)、板级支持包、驱动等。开发人员可以通过Workbench IDE或者vxprj工具开发项目和应用,可以使用Workbench Debugger进行调试。

本文旨在介绍如何利用Wind River Workbench3.3开发工具提供的命令行支持,进行工程创建、工程配置、代码编译等基本操作。

在这篇博文中,我将解释如何使用 VxWorks 7 内核控制台(shell)读写硬件设备中的寄存器。对于任何一个开发设备驱动程序或其他直接与内存映射设备进行交付的代码的人来说,这是一个非常有用的功能。

VxWorks 6.9内核Shell控制台

如果您使用过 VxWorks 6.9,你可能常常使用内核 shell 访问目标硬件中的内存映射寄存器。 例如,你可以使用 d 命令(实际上是一个函数)转储映射到内存中已知基地址的一组寄存器:

概述

本文主要是记录《VxWorks BSP Developer's Guide 6.9》和《VxBus Device Driver Developer's Guide 6.9》的部分章节内容,重点关注VxWorks 6.9的BSP移植和驱动开发。

BSP概述

本章主要介绍VxWorks启动过程中调用的BSP相关函数,BSP移植的主要工作就是实现这些函数。

本文首先从实时内核的定义出发,对实时操作系统进行了介绍,并对实时操作系统的特点进行了说明,接着从内核的功能和结构角度介绍了整体式内核,层次式内核,以及微内核。最后对具有微内核特性的VxWorks Wind内核进行了介绍。

1.1 实时内核概述

“实时”表示控制系统能够及时处理系统中发生的要求控制的外部事件。从事件发生到系统产生响应的反应时间称为延迟(Latency)。对于实时系统,一个最重要的条件就是延迟有确定的上界(这样的系统属于确定性系统)。满足这个条件后,根据这个上界大小再区分不同实时系统的性能。这里的“系统”是从系统论的观点讲的一个功能完整的设计,能够独立和外部世界交互、实现预期功能。这包括实时硬件系统设计、实时操作系统设计、实时多任务设计3部分。后两者可以概括为实时软件系统设计。实现实时系统是这3部分有机结合的结果。