H.1   Introduction

VxSim, the VxWorks simulator, is a port of VxWorks to the various host architectures. It provides a simulated target for use as a prototyping and test-bed environment. In most regards, its capabilities are identical to a true VxWorks system running on target hardware. Users link in applications and rebuild the VxWorks image exactly as they do in any VxWorks cross-development environment using a standard BSP.

The difference between VxSim and the VxWorks target environment is that in VxSim the image is executed on the host machine itself as a host process. There is no emulation of instructions, because the code is for the host's own architecture. A communication mechanism is provided to allow VxSim to obtain an Internet IP address and communicate with the Tornado tools on the host (or with other nodes on the network) using the VxWorks networking tools.

Because target hardware interaction is not possible, device driver development may not be suitable for simulation. However, the VxWorks scheduler is implemented in the host process, maintaining true tasking interaction with respect to priorities and preemption. This means that any application that is written in a portable style and with minimal hardware interaction should be portable between VxSim and VxWorks.

The basic functionality of VxSim is included with the Tornado tools and is preconfigured to allow immediate access to the simulated target. The optional component of VxSim provides the simulator with networking capability.

The key differences between VxSim and other BSPs are summarized below. For a detailed discussion of subtle implementation differences which may affect application development, see H.4 Architecture Considerations.

Built-In Simulator

VxSim has only a few differences from VxWorks:

Drivers
Because device drivers require direct hardware interaction, most VxWorks device drivers are not available with VxSim.

File System
VxSim defaults to using a pass-through file system (passFs) to access files directly on the workstation. (See the online reference for passFsLib under VxWorks Reference Manual> Libraries.) Most VxWorks targets default to using netDrv to access files on the host.

Networking
Networking is not available in the base product.

Optional Product

The optional VxSim component provides full network capability for your simulator. The optional product also allows you to run more than one instance of VxSim on your host.

In order to simulate the network IP connectivity of a VxWorks target, VxSim includes special drivers which operate using IP addresses. The following network interfaces are available, depending on your host type:

ULIP

User-Level Internet Protocol

Solaris 2, Windows NT

PPP

Point-to-Point Protocol

Solaris 2

SLIP

Serial Line Internet Protocol

HP-UX 10

All interfaces provide an I/O-based interface for IP networking that allows VxSim processes to be addressed at the IP level. When multiple programs are run, they can send packets to each other directly. This is because the host hands the packets back and forth; that is, the host OS effectively becomes a router with multiple interfaces.

For more information on PPP and SLIP, see the VxWorks Networking Guide. For information on the ULIP-specific library if_ulip, see the VxWorks Reference Manual.