The 80/20 rule or the Pareto Prinicple is often referred to and interpreted in a variety of ways. For the purposes of this blog, let’s consider it as
That being the case, most application or user-space embedded software doesn’t need a complete hardware evaluation board. Nor does it need a traditional Virtual Platform that replicates nearly all of the hardware. No, what is required is a readily available, flexible, and configurable environment. An environment where applications that are target compiled, unmodified binaries can be loaded, run, tested, debugged, and analyzed.
VLAB Virtual Development Machines (VDMs)
Most if not all engineers have gone through the process of ordering a new desktop or laptop. Depending on your budget, and how long it’s been since you last upgraded, there can be a certain sense of excitement. Select the processor, how much memory, maybe a new monitor, keyboard, and mouse as well. Finally what version of the OS do you want to be pre-installed. Now just wait for it to be delivered, at which point you power up, install your application software and start working.
The proliferation of Virtual Machines has brought with it a variation of the same experience. Download a new appliance for a given OS, configure the CPUs, memory, network … and start running. Of course, VMs come with numerous other benefits… but more on that later.
A VLAB VDM brings together these two experiences. Start building an embedded computer by selecting from popular embedded Processor Architectures (PAs); ARM®, PowerPC®, RISC-V®, RH850® and TriCore®. Configure the number of cores/clusters, memory, interrupts IO, and peripherals. Being embedded environments, options for storage and Network IO protocols are also available. Finally, each PA comes with a range of pre-built/pre-validated OS, optimized for the configuration.
The result is an all-in-software embedded computer. Most likely it won’t match the specifications of your target hardware. But it WILL run the bulk of your application / user-space software, target compiled and unmodified. All of this in a virtual environment that can be shared, replicated, scaled on demand, debugged, tested, and analyzed in ways not possible in hardware.
While the new ‘Off The Shelf’ VDMs will run the bulk of embedded applications, some do require more. For software targeted at specific low level hardware architectures and specifications, VDMs can be extended with VLAB Virtual Platform Toolboxes. This may be as simple as supplying a model for a specific CAN controller to replace the generic OTS component. Alternatively, it may provide multiple components necessary for low-level BSP development.