"Virtual reality is the first step in a grand adventure into the landscape of the imagination.”
--Communication in the Age of Virtual Reality by Frank Biocca, Taeyong Kim and Mark Levy
So what is the reality, and virtual reality, for embedded software developers? Virtual platforms will be increasingly important, especially for multi-core designs. The April 2012 EE Times Embedded Software Survey reported that 33% of software developers say virtual platforms are becoming more important to accelerate their schedules.
Why Use Virtual Platforms?
When hardware is not available, you can still start software development early and with confidence. Virtual platforms can be programming-model hardware accurate, and allow you to run the exact binary you code for the real device. They deliver the level of abstraction and performance needed to run operating systems and application software and integrate external system components and interfaces.
Even when hardware is available, virtual platforms offer significant advantages. Virtual platform changes can be instantaneous, while hardware evaluation boards are cumbersome and expensive to change. More importantly, virtual platforms offer unprecedented debug visibility into the system that is impossible with hardware, whether SoCs or evaluation boards. They allow you to find bugs faster, and optimize hardware and software interaction.
For example, the virtual prototype for the new dual-core Freescale Vybrid controller, which features both ARM® Fast Models of the ARM Cortex™-A5 and Cortex-M4, was already available within the VWorks’ VLAB™ integrated environment the same day Vybrid was announced. Early, accelerated software and system development delivers significant competitive advantage.
Debug analysis and visibility are key. For example, with VLAB, as shown below, a hardware/software breakpoint capability on any signal or transaction allows unprecedented controllability and introspection. Semantic trace and data analysis, bus analysis, and access to processor registers all support explicit comprehension of all events from both a software and hardware perspective. Trace data can be accessed in real time or post-simulation.
And Dual Display Control Unit (DCU) virtual displays enable visual debug of applications and firmware.
DCU delivers the ability to comprehend hardware / software interaction for system debug, and simultaneously tune hardware and software performance. You can also automate regression test for higher productivity: scriptable execution, including breakpoint scripting, for full regression test capability, and sophisticated debug.
In addition, many customers find that test and validation of graphical systems is a critical use case of virtual platforms. As user interfaces (UIs) become more broadly accepted and deployed in various types of equipment (consumer, medical, industrial, etc.), this creates a new visual challenge in actually validating that a UI design upgrade or change actually yields the desired response. Modeling can help with companies’ desires to validate these changes and confirm the expected outcome.
The Challenge of Multi-core Designs for Embedded Software
We are all familiar with the widely praised ARM big.LITTLE processing strategy.
And, across all markets, designs with multiple cores are increasingly prevalent, as reported in the 2012 Embedded Software Survey:
With virtual platforms based on VLAB, you can debug multi-core designs rapidly, with synchronized visibility. For example, the dual core debug capability for Freescale Vybrid designs, using the ARM DS-5 debugger, supports both ARM cores: Cortex-A5 and Cortex-M4. A synchronized breakpoint capability allows you to stop at any breakpoint, inspect the state of both cores, and step each core.
More on Virtual Platforms
Do you want to accelerate development for embedded software or systems? Do you need early access to hardware IP, ARM cores, Freescale Vybrid, and other platforms?
If so, virtual prototyping is certainly a technology to investigate. To find out more, visit VWorks at www.vworks.com.
Guest Partner Blogger:
ARM welcomes its wealth of Partners in the ARM Connected Community (CC) to submit guest blogs to be published on our multiple community blogs. If interested in participating please submit email inquiries to Tell.Us@arm.com.
The ARM Connected Community (CC) is an extensive ecosystem covering all aspects of ARM processor-based design, from chip implementation through to system and device design. The CC provides a platform for collaborative innovation, with multiple types of forums for members to work with one another, and with customers, to solve industry challenges, all with the purpose of enabling designers to focus on differentiating features and an accelerated time-to-market for ARM powered solutions.
0 Comments On This Entry
Please log in above to add a comment or register for an account
The Server in Your Hand - and the three new interfaces inside it
on May 09 2013 08:54 PM
A DATE with Computing Destiny
on Mar 18 2013 06:57 PM
CDNLive Paper Preview: RTL Performance Analysis of ARM Interconnect IP
on Mar 11 2013 01:40 PM
Low Power and its Future?
on Feb 11 2013 08:02 PM
ARM Cortex-A50 Processor Series Wins ‘Product of the Year’ Award
on Feb 08 2013 07:48 PM