VxWorks Configuration
2.4 VxWorks Source Build Projects: VSBs
2.4.1 Basic Operating System VSB Options
The VSB project facility (as presented by Workbench or vxprj) provides an extensive set of options that can be selected to configure a VSB project. These include feature-specific options as well as those designed for performance and footprint optimization.
The options available with VSB projects for basic VxWorks operating system features include the following:
■ BSP-specific optimizations (such as floating point support)
■ Inconsistent cache mode (PowerPC)
■ System Viewer Instrumentation
■ Real-Time Processes
■ Object Management
■ Shared memory object (VxMP)
■ Task hook routines
■ CPU power management
■ Advanced options
■ VxWorks BSP Validation Test Suite
Figure 2-1 Components, Libraries, and VSB Options
fooLib
foo2Lib
foo3Lib xyz support code INCLUDE_FOO
barLib
bar2Lib
bar3Lib xyz support code INCLUDE_BAR
abcLib
abc2Lib
abc3Lib xyz support code INCLUDE_ABC
2 VxWorks Configuration 2.4 VxWorks Source Build Projects: VSBs
■ Symmetric Multiprocessor (SMP)
■ SMP determinism or performance
■ Asymmetric Multiprocessor (AMP)
These options are described in detail below. Note that other technologies (such as networking) provide many additional options, which are described in the relevant programmer’s guides and platform user’s guide.
For a full list of options and descriptions, see the VSB features of Wind River Workbench and the vxprj tool.
BSP-Specific Optimizations
For some BSPs, attributes such as endianess and floating-point support can be changed. Whether or not they can, information about these attributes, as well as about the primary and secondary compiler are displayed.
Inconsistent Cache Mode Support
The PPC_CACHE_MODE_IS_INCONSISTENT option removes support for cache management in the context of enabling and disabling the MMU on PowerPC systems. It is always selected for SMP systems, for which the cache must always be enabled, coherent, and in copyback mode. It can also be used to optimize
performance when you know the system will always utilize copyback cache; that is, you will not disable the cache for any part of the system.
System Viewer Instrumentation Support
The SV_INSTRUMENTATION option provides the instrumentation of VxWorks code that is required for System Viewer use. If System Viewer is not going to be used for field debugging, it can be removed for production systems. Removing the instrumentation reduces the footprint of the VxWorks system, and provides improvements in performance-critical operations (such as semaphore gives and takes).
By default, System Viewer instrumentation is included. When it is not included in a VSB project, the INCLUDE_WINDVIEW component cannot be included in any VxWorks image project that is based on the VSB project.
For information about System Viewer, see the Wind River System Viewer User’s Guide.
Real-Time Process Support
The RTP option provides support for real-time processes. By default, many VxWorks libraries include support for real-time processes (RTPs). There are, for
system with a smaller footprint and superior performance than could be achieved simply by excluding the components required for RTP support.
By default, RTP support is included. When it is not included in a VSB project, the INCLUDE_RTP component (and dependent components) cannot be included in any VxWorks image project that is based on the VSB project.
For information about real-time processes and RTP applications, see the VxWorks Application Programmer’s Guide.
Object Management Support
The OBJECT_MANAGEMENT option set provides object management options.
Kernel Object ID Verification Support
The OBJECT_VERIFICATION option provides for VxWorks object verification, which ensures that an object is a proper VxWorks object. Without this support, objects passed to VxWorks by kernel APIs such as semTake( ) and semGive( ) are not verified. Verification can be removed if an application carefully tracks the use of kernel objects and makes sure that no invalid objects are passed to a kernel routine. Performance improves when object verification is not used. Note that passing an invalid object ID to the kernel can cause unrecoverable failure of the system (resulting in exceptions, rebooting, or the system hanging).
Kernel Object Class List Support
The OBJECT_CLASS_LIST option provides access to kernel objects for debugging facilities. Removing this facility improves performance, but eliminates support for various features, such as show, open, and conversion routines—for example taskShow( ), semOpen( ), and taskNameToId( ). Without this feature, VxWorks cannot be configured with the INCLUDE_OBJ_OPEN, INCLUDE_CLASS_SHOW, and INCLUDE_OBJ_INFO components.
The same functionality is provided for the small-footprint configuration of VxWorks (based on the PROFILE_SMALL_FOOTPRINT VSB profile) with the OBJECT_CLASS_LIST_PSF option. For information about small-footprint configuration, see 2.6 Small-Footprint VxWorks Configuration, p.21.
Error Detection and Reporting Policy Hooks
The EDR_POLICY_HOOKS option provides for error detection and reporting policy hooks. For information about the error detection and reporting facility, see 18. Error Detection and Reporting.
The same functionality is provided for the small-footprint configuration of VxWorks (based on the PROFILE_SMALL_FOOTPRINT VSB profile) with the EDR_POLICY_HOOKS_PSF option. For information about small-footprint configuration, see 2.6 Small-Footprint VxWorks Configuration, p.21.
Task Switch Hook Support
The TASK_SWITCH_HOOKS option provides support for task switch hook routines. For information about these routines, see 6.5.10 Tasking Extensions: Hook
2 VxWorks Configuration 2.4 VxWorks Source Build Projects: VSBs
Routines, p.103. By default, this support is included. When it is not included in a VSB project, the INCLUDE_TASK_SWITCH_HOOKS component (and dependent components) cannot be included in any VxWorks image project that is based on the VSB project.
The same functionality is provided for the small-footprint configuration of VxWorks (based on the PROFILE_SMALL_FOOTPRINT VSB profile) with the TASK_SWITCH_HOOKS_PSF option. For information about small-footprint configuration, see 2.6 Small-Footprint VxWorks Configuration, p.21.
Task Create Hook Support
The TASK_CREAT_HOOKS option provides support for task creation hook routines. For information about these routines, see 6.5.10 Tasking Extensions: Hook Routines, p.103. By default, this support is included. When it is not included in a VSB project, the INCLUDE_TASK_CREATE_HOOKS component (and dependent components) cannot be included in any VxWorks image project that is based on the VSB project.
The same functionality is provided for the small-footprint configuration of VxWorks (based on the PROFILE_SMALL_FOOTPRINT VSB profile) with the TASK_CREAT_HOOKS_PSF option. For information about small-footprint configuration, see 2.6 Small-Footprint VxWorks Configuration, p.21.
CPU Power Management Support
The CPU_PWR_MGMT_D option provides utilization-based CPU power management for a specific architecture. It is included by default. When it is not included in a VSB project, power management components cannot be included in any VxWorks image project that is based on the VSB project. Without CPU power management support, the operation of the scheduler is faster. For information about power management facilities, see 2.7 Power Management Facilities, p.27.
The same functionality is provided for the small-footprint configuration of VxWorks (based on the PROFILE_SMALL_FOOTPRINT VSB profile) with the CPU_PWR_MGMT_PSF option. For information about small-footprint configuration, see 2.6 Small-Footprint VxWorks Configuration, p.21.
Advanced Options
The ADVANCED_OPT option provides access to additional options, such as using the ADDEDCFLAGS make macro to add the -g compiler option for symbolic debugger information. Note that Wind River does not test images created with the options that are made available with ADVANCED_OPT.
NOTE: Power management is not supported for 64-bit VxWorks with this release.
VxWorks BSP Validation Test Suite Support
The COMPONENT_VXTESTV2_D option provides support for the VxWorks BSP Validation Test Suite. For information about the test suite, see the VxWorks BSP Validation Test Suite User’s Guide.
Symmetric Multiprocessor (SMP) Support
The SMP option provides SMP support in the VxWorks kernel. For information about the SMP configuration of VxWorks, see 23. VxWorks SMP.
SMP Determinism
The DETERMINISTIC option selects implementations of VxWorks SMP features that are optimized for deterministic behavior as opposed to performance (for example, deterministic spinlocks instead of non-deterministic spinlocks). The DETERMINISTIC option is selected by default; it should not be selected when performance is more important than determinism. For more information, see the platform user’s guide and the Wind River Network Stack Programmer’s Guide.
MIPC Support
The MIPC option provides support for MIPC (Multi-OS IPC) for AMP systems. By default the support is included. For information about MIPC, see the Wind River MIPC Programmer’s Guide.
WRLOAD Support
The WRLOAD option provides support for WRLOAD for AMP systems. By default the support is included.