VxWorks Build Guide: VSB, VIP, RTP, and DKM Configuration
Building and configuring VxWorks projects requires a clear understanding of its layered architecture—VSB, VIP, and application-level components. This guide focuses on practical workflows for configuring, building, and managing VxWorks projects using Workbench, with an emphasis on RTPs and DKMs.
🎯 Learning Objectives #
After working through this guide, you should be able to:
- Configure VxWorks application projects effectively
- Import and export projects in Workbench
- Execute reliable and repeatable build workflows
Platform development starts with VSB and VIP configuration. Once established, application development extends the system with user-space and kernel-level components.
🧱 VxWorks Project Types and Build Models #
VxWorks supports multiple application models depending on isolation, performance, and deployment requirements:
- Real-Time Processes (RTPs) — user-space applications with memory protection
- Shared libraries — reusable components linked dynamically
- Downloadable Kernel Modules (DKMs) — kernel-space extensions
- CMake-based RTPs/DKMs — customizable build pipelines
CMake-based approaches provide full control over build structure, while default Workbench-managed builds rely on predefined specifications and static analysis settings.
📁 Project Location Strategies #
Workspace-Based Projects #
- Stored within the Workbench workspace
- Project configuration is self-contained
- Simpler setup, suitable for local development
External Projects #
- Located outside the workspace
- Better suited for version-controlled environments
- Keeps workspace free from generated artifacts
Choosing the right layout depends on your team’s source control and CI/CD strategy.
⚙️ Creating RTP Projects #
RTP projects must be associated with a base system configuration:
- VSB (VxWorks Source Build)
- VIP (VxWorks Image Project)
- Existing DKM project
RTPs inherit build specifications—typically from the VSB—and generate executable outputs such as:
.vxebinaries- Executables linked against shared libraries
This inheritance ensures consistency across system and application layers.
🧩 Creating DKM Projects #
DKMs follow a similar creation workflow as RTPs but operate in kernel space. Key characteristics:
- Direct interaction with kernel services
- Optional inheritance of build settings
- Customizable build commands
DKMs are suited for low-level extensions where performance and direct hardware access are required.
🎛️ Managing Build Targets #
A single project can define multiple build targets, each producing a distinct binary.
Key Capabilities #
- Customize source inclusion per target
- Use different toolchains or flags
- Isolate experimental builds
If no build target is defined, the project will not produce output binaries by default.
📂 File and Folder Management in Workbench #
Efficient project organization improves maintainability and build clarity.
Adding Files #
- Use Project Explorer → New
- Supported types include:
- Blank files
- Template-based files
- Headers and source files
Files can be created locally or linked to external paths.
Adding Folders #
- Standard folders for general organization
- Source folders for build inclusion
This separation helps control compilation scope and dependency resolution.
Excluding Files and Folders #
Files can be excluded from specific build targets without deletion:
- Right-click → Edit Excludes
- Configure per build target
This is useful for conditional builds or environment-specific configurations.
📦 Importing and Exporting Projects #
Workbench supports efficient project portability.
Export #
- Package projects as
.zipor.tar - Includes settings, files, and breakpoints
- Ideal for backups and sharing
Import #
- Import from archives or existing directories
- Supports team project sets
- Preserves project structure and debugging state
This enables seamless collaboration across environments.
🛠️ Building VxWorks Projects #
Build Configuration Components #
Each project build is defined by:
- Build targets
- Toolchains and macros
- Makefiles and build commands
Workbench provides sensible defaults based on project type, which can be customized in project properties.
Core Build Commands #
- Build Project — incremental build
- Rebuild Project — clean + full rebuild
- Clean Project — removes generated artifacts
Additional tools:
- Development Shell for manual commands
- Refresh to sync filesystem changes
- Close Project to unload without deletion
Advanced Build Controls #
- Build enabled specifications only
- Switch active build configurations
- Manage multiple build specs per project
These features are critical for multi-target and cross-platform development.
⚠️ Debugging Build Failures #
When builds fail, Workbench provides detailed diagnostics:
- Errors appear in the Build Console
- Include file references and line numbers
- Linked directly to source code
Double-clicking an error navigates to the exact location in the editor, enabling rapid issue resolution.
Common issues include syntax errors, missing dependencies, and incorrect build configurations.
📌 Conclusion #
VxWorks project configuration and build management revolve around a structured hierarchy—VSB, VIP, and application layers. Mastering RTP and DKM workflows, along with Workbench’s build system, enables efficient development of scalable, high-performance embedded applications.
A disciplined approach to project organization, build targets, and validation ensures consistent and reproducible results across complex RTOS environments.
Reference: VxWorks Build Guide: VSB, VIP, RTP, and DKM Configuration