Virtual machine for developing and testing target code for hardware designs
AssigneeThe Boeing Company
InventorJonathan Nicholas Hotra
Life of this patent
Estimating the term…
Abstract
A host computer includes a memory storing a proxy VM, and a host CPU. The proxy VM emulates target hardware having an incomplete design. The proxy VM includes a virtual processor for emulating a target processor. The proxy VM includes an emulated memory coupled to the virtual processor over a virtual memory bus. The emulated memory includes at least one portion storing the target code. The host CPU is configured to execute the proxy VM to emulate the target hardware. The proxy VM, upon execution by the host CPU, is configured to execute, by the virtual processor, the target code.
Claims23
A host computer comprising:
- a memory configured to store a proxy virtual machine (VM) for emulating target hardware having an incomplete design, the proxy VM including:
- a virtual processor for emulating a target processor;
- and
- emulated memory in communication with the virtual processor via a virtual memory bus, the emulated memory including at least one portion storing the target code;
- and
- a host central processing unit (CPU) configured to execute the proxy VM to emulate the target hardware, the proxy VM, upon execution by the host CPU, configured to execute, by the virtual processor, the target code.
A method of executing target code for target hardware having an incomplete design, the method comprising:
- executing a proxy virtual machine (VM) for emulating the target hardware for the incomplete design, the proxy VM including a virtual processor, an emulated memory, and a virtual communication interface;
- executing, within the proxy VM, the target code stored in the emulated memory;
- gaining access to input data within the proxy VM;
- operating, by the target code, on the input data;
- and
- writing output data over the virtual communication interface in response to execution of the target code.
A computer-readable memory storing a proxy virtual machine (VM) for emulating target hardware, the proxy VM including:
- a virtual processor for emulating a target processor;
- emulated memory coupled to the virtual processor over a virtual memory bus, the emulated memory including at least one portion storing a board support package (BSP) and target code;
- and
- a virtual communication interface coupled to virtual processor via an emulated peripheral bus;
- wherein the proxy VM, upon execution by a host central processing unit (CPU), is configured to:
- execute the target code stored in the emulated memory;
- gain access to input data within the proxy VM;
- operate, by the target code, on the input data;
- and
- write output data over the virtual communication interface in response to execution of the target code.
A host computer comprising:
- a memory configured to store a proxy virtual machine (VM) for emulating target hardware, the proxy VM including:
- a virtual processor for emulating a target processor;
- and
- emulated memory coupled to the virtual processor over a virtual memory bus, the emulated memory including at least one portion storing the target code;
- and
- a host central processing unit (CPU) configured to execute the proxy VM to emulate the target hardware, the proxy VM, upon execution by the host CPU, configured to execute, by the virtual processor, the target code.
A trainer system for a target hardware device, the trainer system comprising:
- a user interface configured to receive input data from a user;
- a host computer coupled to the user interface, the host computer comprising:
- a memory configured to store a proxy virtual machine (VM) for emulating the target hardware device, the proxy VM including:
- a virtual processor for emulating a target processor;
- and
- emulated memory coupled to the virtual processor over a virtual memory bus, the emulated memory including at least one portion storing target code;
- and
- a host central processing unit (CPU) configured to execute the proxy VM to emulate the target hardware, the proxy VM, upon execution by the host CPU, configured to execute, by the virtual processor, the target code.
A test bench for an embedded system, the test bench comprising:
- a host computer comprising:
- a host communication interface configured to receive input test data;
- a memory configured to store a proxy virtual machine (VM) for emulating a target hardware device having an incomplete design, the proxy VM including:
- a virtual processor for emulating a target processor;
- and
- emulated memory coupled to the virtual processor over a virtual memory bus, the emulated memory including at least one portion storing target code;
- and
- a host central processing unit (CPU) configured to execute the proxy VM to emulate the target hardware, the proxy VM, upon execution by the host CPU, configured to execute, by the virtual processor, the target code to operate on the input test data.
Dependencies are inferred from the claim text.