VxWorks Key Features

VxWorks Key Features

Learning Objectives

After this section you will be able to:

  • Explain the key features of VxWorks
  • Understand the developer workflow using VxWorks
  • Understand the use of containers in a VxWorks project

Starting with any new software, it is important to know its capabilities. Once you know what the tool can do, you can make decisions on where you want your project to go.

Key VxWorks Features:

VxWorks is a robust operating system; it has many useful and powerful features for you to use in your project.

  • A high-performance, memory protected, real-time operating system.
  • Facilitates the run time environment for both kernel and user mode applications.
  • Supports a variety of hardware architectures including, Intel, PowerPC, Arm, and RISC-V, and provides board support packages for the listed architectures.
  • Works with simulation, some of the most common are VxSim, QEMU, and Simics.
  • Provides CPU schedulers, such as priority, round-robin, time partition, and custom schedulers.
  • Has boot loader support, common ones are VxBL, GRUB, U-Boot, UEFI, SYSLINUX, and PXE.
  • An array of debugger tools, an error detection and reporting framework, core dump analytics, kernel debug, and a kernel shell.
  • Works with peripherals, I/O, USB 3.0, serial and network connections, and graphics with OpenVG and Open GL ES stacks.

While working on a project, rapid deployment is valuable. VxWorks can facilitate this with its container support.

Containers in VxWorks

Containers are executable pieces of software for application code that are pre-loaded with dependencies. VxWorks utilizes Docker for distribution of its containers.

VxWorks Container
  • Encapsulate RTP applications or application services, making them easier to distribute and run.
  • The containers are distributed as binaries. This allows for them to have smaller footprints on the system than virtual machines.
  • The hardware can support multiple CPU architectures.

Implementing a developer workflow makes the project development process easier; a self-fulfilling process.