Virtuoso is an embedded system virtual device framework, allowing any idea for an electronic product to be virtualized for development. The framework is an enabling technology that will transform the development of electronic firmware, altering the state of the art much in the same way that 3D printing has transformed mechanical design.
Virtuoso allows custom embedded application hardware to be effortlessly virtualized for development. With an application layer that easily cross-compiles between the virtual device and the target compiler, the firmware application can be developed and tested independent of hardware. The firmware application is hosted or “wrapped” in a C# application, allowing the host to completely emulate the target hardware and interface to real-world application-specific system components. When the application layer is fully implemented and tested on the virtual device, the hardware abstraction layer is simply ported and cross-compiled to the final embedded hardware, and the firmware design is ready to go.
This new electronic software development workflow is targeted not only for professionals, but for students as well. Our vision is is for the tool to be freely available to students, so that hands-on learning is drastically more accessible and efficient.
In a nutshell, Virtuoso works by taking your embedded application C/C++ code and wrapping it in a .NET class to create a powerful virtual run-time environment. This C# .NET class serves as a run-time model for the virtualized embedded application according to the "Model-View-ViewModel" (MVVM) design pattern. This target model is completely managed by Virtuoso, and all embedded threads, variables, timers, and data streams can be configured to be exposed on the target model. Developers are then free to leverage the power of .NET to build a virtual target, using either pre-built Virtuoso library components or components written from scratch. The application code has no idea whether it's talking to 'real' hardware or virtual components.
We design custom electronics for a living, as do thousands of other companies. These electronics radically transform our lives in positive ways, yet the design of electronics is expensive and often risky. The Virtuoso embedded virtual device framework addresses a fundamental and prevalent problem with the way that electronics are designed in a novel way, and accelerates the innovation process itself.