Learning Objectives #
After this section you will be able to:
- Navigate the VxWorks file directory
- Understand what a layer is and its role in VxWorks
File hygiene is important on any project, so it is important to know where everything is. This section will guide you through the VxWorks file system.
The Journey through the file system #
Step by step to learn about the VxWorks file structure.
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 your VxWorks. Third party compilers are supported and would be installed here too. By default, it has two:
- lvm
- Rust
VxWorks supports multiple versions of the same compiler, so if errors are encountered, you can easily revert to the old compiler.
For details on how to port a third-party compiler, refer to the VxWorks Configuration and Build Guide.
Miscellaneous Directories #
The top-level directory of your installation contains the following subdirectories for miscellaneous purposes:
- etc/ contains installation configurations
- license/ contains user license files
- maintenance/ contains the Wind River installer utility
- utilities/ contains various important binary utilities used by Workbench
- setup/ contains product installation scripts
workbench-4 Directory #
In this directory you will find all the files pertaining to the Workbench IDE. Some notable paths from here are:
Samples
- This gives an example project for each of the VxWorks project types.Simulator and Simics
- These contain the files for the VxWorks simulator and the Simics simulator.startWorkbench.bat
- This is a startup script to launch Workbench.
vxworks Directory #
This is the VxWorks release directory. In this course it is 22.06 but yours may be different. It can be found at vxworks/release, this directory contains the following subdirectories:
docs/
contains product documentationhost/
contains development host utilitiesman/
contains API referencessamples/
contains example and prebuilt projects
source Directory #
Within the source directory you will find all the components that VxWorks uses to build the VSB. It can be found in vxworks/release/source and contain the following subdirectories:
boot/
contains boot loader technology (such as BIOS, UEFI, and VxBL)build/
contains makefiles and build rulescontrib/
contains third-party layersfeatures/
contains feature CDF filesinstallset_data/
contains a list of installed layers, BSPs, architectures, and compilersos/
contains the VxWorks kernel layers
VxWorks Layers Directory #
The Layers directory contains VxWorks libraries and components. The directory is located at vxworks/release/source/os and contains the following subdirectories:
arch/
contains architecture layersconnectivity/
contains USB, FireWire, Bluetooth, and other layerscontainer/
contains container runtime and management layersmultimedia/
contains UI layersnet/
contains the network stacksecurity/
contains OpenSSL, crypto, and othersstorage/
contains file systems
Board Support Packages Directories #
The BSP directory is located at vxworks
/release/source/os/arch
.
BSPs are categorized by their architecture (Arm, Intel, PowerPC, or RISC-V) and, in the subsequent board directory, their silicon vendor.
The Git Directory #
By default, the VxWorks installer installs the kernel source code in a Git directory. The Git directory let you perform source code management on the VxWorks source code, such as:
- Commits
- Branches
- The use of remote Git Repositories
You do not need these source code management actives to build or use VxWorks. In essence, the kernel source code Git directory acts as a traditional, unmanaged file system directory.
You can also disable the Git option. In that case, the installer deploys the kernel sources as an unmanaged install tree directory.
Summary #
Now that you have seen where all the different directories are located, take a look through them. Many projects require third-party plug-ins and custom libraries, and now you are equipped with navigating them.
With VxWorks, you can customize a feature... through layers.
Inside and Outside Layers #
Inside Layer #
An inside layer is located in the Wind River install directory, at installDir/vxworks/release/source/os/. All layers provided by Wind River are considered inside layers, and many custom layers are too.
Outside Layer #
Outside layers are created and saved outside of the Wind River installation directory. As an example, board venders who write drivers or BSPs may want to deliver their software without modifying the install directory of VxWorks.
The workflow to create, use, and share custom inside or outside layers is as follows:
- Create a layer on a workstation.
- Add the layer to a VSB and test it with a VIP.
- Export the layer in an RPM.
- Import the layer RPM on another workstation containing a fresh VxWorks installation.