Virtuoso is an embedded systems design workflow and content platform that allows custom embedded application hardware to be effortlessly virtualized. 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.
Identical application code is written and cross-compiled in the virtual device and one or more target compilers. Any enhancements or bug fixes to one device are automatically updated in all cross-compiled devices.
Develop and test your firmware application in a virtual device in parallel with the hardware design, then port the application to your hardware target when it's ready. Experience the enormous gains in developer productivity, logistical flexibility, and optimized resource utilization with a decoupled workflow.
Interface your virtual device with the same exact peripheral devices and system components as your target. Or virtualize these peripheral components as well to save travel time, setup time, costs and headaches associated with third party components, creating an extremely productive and logistically efficient workflow.
Drastically reduce your debug cycle using Visual Studio's powerful IDE. Instead of fighting fragile target setup problems or waiting for firmware to download, all you have to do is compile and run your virtual device, with no hardware needed and zero down-time. You won't have to worry about another developer stealing your hardware ever again.
Hardware virtualization and peripheral interfacing is developed in C#/.NET. With an embedded application code fully exposed to a high-level, managed environment the embedded application itself becomes unit testable in a way that was previously impossible. With Virtuoso, automation can be brought to system or user interactions.
Rich Content Support
Make a photo-realistic virtual device using the rich virtual content library provided out of the box or use them as a template for your own application-specific photo-realistic virtualization. The component library also includes digital and analog I/O components, virtual communication busses, and much more.
Virtuoso provides an entire embedded product development workflow that supports all product stakeholders, not just developers. From supporting the marketing team with early product concept definition, all the way to supporting the customer with amazing and immersive training and product orientation experiences.
SHOULD I USE IT?
Whether you are a student, a professional commercial application developer, or a researcher, if you are developing a firmware application written in C/C++, you can’t afford not to use it.
With a library of virtualized systems and applications ready to explore, Virtuoso bridges the gap between theory,
the real world, and the specifics of practical solution implementation. With Virtuoso, complex real-world example
problems and solutions can be virtualized and shared with no hardware to buy. Implementations can then be tested
both in the virtual device and the real world, providing an extremely efficient educational platform.
There are logistical challenges specific to embedded systems design. Your firmware development team shouldn’t
be sitting around waiting weeks on end for the hardware to be designed, built, and evaluated. Your firmware
development team should be implementing and fully testing the application business logic using a workflow
that was made specifically for professional firmware developers, by professional firmware developers.
Scientific or industrial research requires a research methodology, and workflow is a crucial aspect
of any research methodology. Particularly one that involves the co-development of an embedded system
where data must be acquired, organized, and presented to the application or algorithm in a useful way.
Empower your research heuristic and mitigate risk with Virtuoso.
As an embedded device virtualization workflow, Virtuoso by nature works with any target platform. Once your application is developed and tested in a virtual device with a hardware abstraction layer, your application can be targeted or re-targeted to any platform with sufficient hardware capabilities. Write your application. Discover your resource requirements. Then pick a processor.
We are working towards our goal of universal host platform support, so that whether your virtual device application needs to be deployed on a desktop, tablet, phone, or web page, we’ve got you covered.
THE STATE OF THE ART
Simply put, Virtuoso is designed to be the most advanced embedded design workflow in existence. Combine the power of Virtuoso, Montage, Unreal Engine, C#/.NET and the Windows Presentation Foundation into your next embedded firmware project. Then imagine your professional life without it.