• No results found

Basic Operating System VSB Options

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.