VxWorks Directory Structure and Package Management #
Keeping your project organized is crucial in embedded development. With VxWorks, understanding the installation directory structure and the concept of layers will help you manage files, BSPs, and customizations more efficiently.
Learning Objectives #
After completing this section, you will be able to:
- Navigate the VxWorks installation directory.
- Understand what a layer is and its role in VxWorks development.
Navigating the VxWorks File System #
Top of the Installation Directory #
The top-level directory of your installation contains:
3pp-download/ | compilers/ | download/ |
---|---|---|
etc/ | legal-notices/ | license/ |
maintenance/ | readme/ | setup/ |
utilities/ | vxworks/ | workbench-4/ |
Compilers #
This directory contains the compilers installed with VxWorks. Third-party compilers are supported and would be installed here too. By default, it has two:
- LLVM
- Rust
VxWorks supports multiple versions of the same compiler, so if errors are encountered, you can easily revert to a previous version.
➡️ For details on porting a third-party compiler, refer to the VxWorks Configuration and Build Guide.
Miscellaneous Directories #
The top-level directory also includes:
- etc/ → Installation configurations
- license/ → User license files
- maintenance/ → Wind River installer utility
- utilities/ → Important binary utilities used by Workbench
- setup/ → Product installation scripts
workbench-4 Directory #
This directory contains all the files for the Workbench IDE. Some notable paths include:
- Samples/ → Example projects for each VxWorks project type.
- Simulator and Simics/ → Files for the VxWorks simulator and the Simics simulator.
- startWorkbench.bat → Startup script to launch Workbench.
vxworks Directory #
This is the VxWorks release directory (for example, 22.06
). Found at vxworks/release
, it contains:
- docs/ → Product documentation
- host/ → Development host utilities
- man/ → API references
- samples/ → Example and prebuilt projects
source Directory #
Inside vxworks/release/source
, you will find all the components used to build the VSB. Key subdirectories:
- boot/ → Bootloader technology (BIOS, UEFI, VxBL)
- build/ → Makefiles and build rules
- contrib/ → Third-party layers
- features/ → Feature CDF files
- installset_data/ → Installed layers, BSPs, architectures, and compilers
- os/ → VxWorks kernel layers
VxWorks Layers Directory #
The vxworks/release/source/os
directory contains VxWorks layers, which are modular libraries and components:
- arch/ → Architecture layers
- connectivity/ → USB, FireWire, Bluetooth
- container/ → Container runtime & management
- multimedia/ → UI layers
- net/ → Network stack
- security/ → OpenSSL, crypto modules
- storage/ → File systems
Board Support Packages (BSPs) #
BSPs are found at:
vxworks/release/source/os/arch/
They are categorized by:
- Architecture → Arm, Intel, PowerPC, RISC-V
- Board vendor → Vendor-specific implementations
The Git Directory #
By default, the VxWorks installer puts the kernel source code under Git for source management. This allows:
- Commits and branches
- Use of remote repositories
- Change tracking and rollback
⚠️ Git is optional. If disabled, the installer deploys the kernel sources as an unmanaged directory tree.
Understanding Layers in VxWorks #
With VxWorks, you can customize a feature or add functionality through **layers**.
Layers are modular units that provide functionality (networking, security, drivers, etc.). They can be combined in a VSB project to build customized VxWorks libraries.
Inside Layers #
- Located in:
installDir/vxworks/release/source/os/
- Provided by Wind River by default.
- Many custom layers can also be placed here.
Outside Layers #
- Created outside the Wind River installation directory.
- Often used by board vendors delivering drivers or BSPs.
- Keeps vendor code separate from the main installation.
Typical workflow:
- Create a layer on a workstation.
- Add it to a VSB and test with a VIP.
- Export the layer as an RPM.
- Import the RPM on another workstation with VxWorks installed.
Key Takeaways #
- The VxWorks installation directory is organized into compilers, IDE files, release files, and kernel sources.
- Layers (inside and outside) are the building blocks of customization.
- BSPs are organized by architecture and vendor.
- Git integration is optional but enables source management.
By mastering the VxWorks directory and package management, you can streamline development, integrate third-party code, and maintain clean project organization.