Virtualization plays an increasingly important role for the design of today's complex electronic systems. The solutions enabled through a virtualized design range from product conception and marketing, definition of the platform architecture and interconnect, the design of processing elements and their algorithms to the development of interacting embedded software stacks. This article introduces the usage and benefits of virtual prototypes for debug and analysis during embedded software development.
Instead of listing debugging features, we have chosen to illustrate the capabilities of virtual prototypes by means of representative case studies. Based on various realistic debugging scenarios, we will highlight how a software developer can take advantage of a virtual prototype to make debugging easier, faster and more predictable. As a result, we will not show each and every function of the virtual prototype solution, but illustrate its usage in a meaningful context.