Virtualized Systems Development incorporates the use of virtual target hardware for software and system development.

What is Virtualized Systems Development ™ ?

Virtualized Systems Development (VSD) is product development without the use of, or
need of, the target hardware platform that the software will eventually run on. For example, if the product's software is being developed for a target system that contains a PowerPC processor, an Ethernet controller, RapidIO, a UART and other peripherals, each developer of the software team would typically need this target hardware configuration in order to debug and test their software. When target hardware is in short supply, or not available,
this obviously becomes a bottleneck for the software development team.
Traditional  Development Platform

With Virtualized Systems Development, the target hardware is virtualized (i.e., simulated)
and runs on each developer’s development workstation. To the target software, the
virtualized target hardware behaves exactly the same as the physical target hardware.
Virtualized System Development Platform
Target application code, the real-time operating system, drivers, firmware, all can be debugged, tested, and executed using the virtualized target hardware instead of the physical target hardware. Furthermore, a virtualized systems development environment allows one to run the exact same binary that they would run on the physical target. This means there is no need for RTOS/OS API abstraction layers, stubbed out drivers or firmware, nor multiple build scripts that build the software one way for production environment and another way for a stubbed-out environment.

To accomplish this, a virtualized systems development environment provides the following things:

  • an instruction set simulator for the microprocessor(s) in the target hardware;
  • behavioral simulation of all devices in the target hardware that the target software
    interacts with;
  • connections between, and among, simulated targets and the real-world (e.g., networks like Ethernet, MIL-STD-1553, ARINC 429, SpaceWire, FireWire, USB, ATM, and other mechanisms like disk images, memory images, etc.); and
  • the ability to use the same tools (e.g., compilers, linkers, debuggers, IDEs, and RTOSs) and processes that the software developer would use with the physical hardware.

Furthermore, to be truly useful for software development and testing of the entire target
software stack, a virtualized systems development platform must be fast enough to execute the target software. This is what differentiates a virtualized systems development platform from simulation tools provided by the electronic design automation (EDA) industry. These tools, while extremely accurate from a hardware implementation perspective, often are not fast enough to run the entire target software stack.

Learn more

Learn how Virtualized Systems Development can help you.

News & Events | Feedback | Contact Us | About Us | Partners | Academia
All Content © 2004-2009 Virtutech unless otherwise noted | Privacy Policy