VxWorks SDK - Boot Guide

Table of Contents

Booting a VxWorks Target

The VxWorks RTOS image within the SDK can be booted one of two ways:

  1. Directly on the targeted hardware.

  2. Through a virtualization platform like QEMU.

Option 1: Hardware

For information on how to set up the target hardware and connect via serial communication, see the appropriate README file(s) within the <SDK_DIRECTORY>/bsps/<BSP_NAME>/readme directory.

Option 2: QEMU

The generated SDK can be configured to include an emulation tool which can be used to simplify the VxWorks emulation and configuration process. Depending on what was configured by the Platform Developer, the tool may or may not already include the necessary QEMU files needed to boot VxWorks. To see whether or not the appropriate files are included within your SDK, check the <SDK_DIRECTORY>/.metadata file to see if QEMU support is enabled.

If the SDK does not contain the necessary QEMU files, or you would like to set up your own instance of QEMU, see the QEMU Installation Guide for information on downloading and installing QEMU.

QEMU Usage

usage: startqemu.py [-h] [-stdout | -t] [-smp CORES] [-m MEMORY]
                    [--network-address NETWORK_ADDRESS]
                    [--host-address HOST_ADDRESS] [-q QEMU_DIR]
                    [-k VXWORKS_IMAGE_PATH | -b]

optional arguments:
  -h, --help            show this help message and exit
  -stdout, --stdout     Print to the console
  -t, --telnet          Communicate with the VxWorks kernel using a telnet
                        connection
  -smp CORES, --smp CORES
                        Number of virtual cores
  -m MEMORY, --memory MEMORY
                        Amount of virtual memory to allocate
  --network-address NETWORK_ADDRESS
                        QEMU DHCP network address
  --host-address HOST_ADDRESS
                        QEMU DHCP host address
  -q QEMU_DIR, --qemu QEMU_DIR
                        Path to QEMU directory
  -k VXWORKS_IMAGE_PATH, --kernel VXWORKS_IMAGE_PATH
                        Path to VxWorks image
  -b, --bsp             Use the kernel image from the 'bsps' directory
  1. Source the SDK environment file to set up your development environment and gain direct access to the QEMU tool (see the Command-line Prerequisites for more details):

    Linux

    source <SDK_DIRECTORY>/toolkit/wind_sdk_env.linux

    Windows

    <SDK_DIRECTORY>\toolkit\wind_sdk_env.bat

  2. Run the following command to start the QEMU tool:

    Linux/Windows

    startqemu.py

    This will start QEMU with a VxWorks image that matches the architecture defined by the VSB/VIP. (NOTE: The VxWorks image used by the QEMU tool is not the same as the one from the provided VIP).

    The QEMU tool can also be invoked directly from within the SDK:

    python <PATH_TO_SDK_DIR>/toolkit/sdk_tools/qemu/startqemu.py

    Example:

    python ~/SDK/toolkit/sdk_tools/qemu/startqemu.py

    To specify your own installation of QEMU (rather than using the QEMU files provided by the SDK), simply run the same command with the -q or --qemu parameter and a path to a QEMU installation directory.

    startqemu.py --qemu <PATH_TO_QEMU_INSTALL_DIR>

    Example:

    startqemu.py --qemu /opt/qemu-4.2.0

    If no QEMU files are present within the SDK and the -q or --qemu parameter is not specified when using the QEMU tool, the current version of QEMU (if any) already installed and accessible via the PATH will be used.

    Note: On Windows the default application for python programs may not be set to the Python Interpreter. If this is the case, you will need to set the Python Interpreter as the default application for .py files. This can be done by right-clicking the python file within the File Explorer, selecting Open With, and then selecting the appropriate Python Interpreter.

Connecting to a VxWorks Target

Interacting with a running VxWorks target can be achieved through the wrdbg shell.

  1. Boot VxWorks on the target hardware or emulate the machine using QEMU.

  2. From the VxWorks serial/virtual console, determine the assigned IP address of the target hardware or virtual machine by using the following command:

    ifconfig

    NOTE: You can use 127.0.0.1 as the IP address if using the QEMU tool.

  3. Open a terminal and complete the Command-line Prerequisites section to set up the SDK environment.

  4. Within the terminal, launch the Wind River Debug (wrdbg) shell from the command-line:

    wrdbg

  5. Connect to the target hardware or virtual machine using the wrdbg shell:

    target connect vxworks7:TCP:<TARGET_IP_ADDRESS>:1534 -kernel <PATH_TO_VXWORKS_IMAGE>

    Example:

    target connect vxworks7:TCP:10.10.10.5:1534 -kernel ~/SDK/bsps/ti_sitara_a8_2_0_1_0/boot/vxWorks

Copyright (C) 04 06 2020 Wind River Systems, Inc.