Skip to main content

Introduction to VxWorks Projects and Workspaces

·610 words·3 mins
VxWorks Project Workspaces VSB VIP
Table of Contents
Free Training - This article is part of a series.
Part 8: This Article

Introduction to Projects and Workspaces in VxWorks
#

In VxWorks development, both hardware and software play crucial roles. While targets and connections represent the hardware side, the projects and workspaces make up the software side. Understanding these project types is essential for building, configuring, and deploying applications in a real-time operating system (RTOS) environment.


Learning Objectives
#

After this section you will be able to:

  • Explain the benefits of Wind River projects.
  • Understand the role of the workspace in development.
  • Identify and describe the different VxWorks project types.

What Are VxWorks Projects and Workspaces?
#

A VxWorks project is a collection of different project types that manage various aspects of a real-time system. These include:

  • Kernel image and system libraries.
  • Code for both user space and kernel space.
  • Configuration files, build settings, and system-level components.

A workspace serves as the container for organizing these projects, making it easier to manage complex development tasks in Workbench.


The Different VxWorks Project Types
#

There are four primary project types in VxWorks. Each plays a specific role in building and running embedded systems.


1. VxWorks Source Build (VSB)
#

The VSB is the foundation of every VxWorks project. All other project types link back to it.

The VSB manages:

  • VxWorks kernel libraries.
  • Board Support Package (BSP) or CPU architectures.
  • Layer versions you want to deploy.

Without a properly configured VSB, no other project type can function.


2. VxWorks Image Project (VIP)
#

The VIP generates the kernel image required to boot VxWorks on an embedded system.

Key features include:

  • Built on top of a VSB or another VIP.
  • Allows modification of tool flags, build macros, and paths.
  • Supports kernel configuration profiles, including bootApp.

This is the project type that ultimately produces the binary image that bootloaders deploy.


3. Application Projects
#

Application projects handle the software running on top of the kernel. They fall into three main types:

  • Real-Time Processes (RTPs) – Run in user memory space, using only assigned system resources. They prevent interference between applications.
  • Shared Libraries – Provide reusable code across RTPs, lowering memory footprint and increasing efficiency.
  • Downloadable Kernel Modules (DKMs) – Run in kernel space, with full access to system resources. They are powerful but require careful memory management (e.g., malloc, semaphores).

4. Makefile-Based Projects
#

Makefile projects provide automation by defining their own build structure.

  • Developers create and manage the makefile directly.
  • Speeds up development by automating system parameters.
  • Can parallel application project types but with more build flexibility.
  • Includes a toggle to disable the makefile if you want to run builds manually.

Top-Down Perspective of VxWorks Project Types
#

The following diagram shows how VxWorks project types relate to each other:

Top-down perspective of the VxWorks project types.


Quick Comparison of VxWorks Project Types
#

Project Type Purpose Runs In Key Features
VSB (Source Build) Core foundation of all projects N/A (manages kernel) Defines kernel libraries, BSP, CPU types, and layers.
VIP (Image Project) Builds bootable kernel image Kernel space Creates deployable binary, links to VSB, supports bootApp profiles.
Application Projects Develops apps running on VxWorks User space (RTPs, Shared Libraries) or Kernel space (DKMs) RTPs isolate apps, shared libraries save memory, DKMs have full system access.
Makefile Projects Automates builds using custom makefiles Both (flexible) Developer-defined structure, parallels application projects, toggle for manual control.

Key Takeaways
#

  • VSB (VxWorks Source Build): Core foundation, managing libraries, BSPs, and CPU types.
  • VIP (VxWorks Image Project): Builds the deployable kernel image.
  • Application Projects: RTPs, Shared Libraries, and DKMs for real-time software.
  • Makefile Projects: Automated builds with customizable makefiles.
  • Workspaces: Provide structure, organization, and ease of project management.

By mastering VxWorks projects and workspaces, developers can efficiently manage both system-level and application-level development in embedded systems.

Free Training - This article is part of a series.
Part 8: This Article

Related

VxWorks Simulation Overview: VxSim, QEMU, and Simics
·407 words·2 mins
VxWorks Simulator VxSim QEMU Simics
VxWorks Workbench Tools Architecture: Connecting to Targets
·438 words·3 mins
Workbench VxWorks Target Communication Framework TCF
VxWorks Booting Process: Hardware Target Guide
·549 words·3 mins
VxWorks Bootrom BootApp VxBL RTOS