A Simple and Scalable Way to Reduce Dependency on Physical Hardware
Developing IoT applications has been historically tied to the availability of hardware platforms, which can limit flexibility and scalability. Moreover, when new technologies become available, it is not possible to start software development until silicon becomes available or an FPGA emulation is created, which is time-consuming and expensive.
The challenge: A typical 5-year development cycle, with application development trailing hardware design.
We launched Arm Virtual Hardware, a cloud-based offering that delivers a virtual model of the Corstone subsystem to enable software development without the need for physical silicon. This approach has allowed our ecosystem to easily adopt modern cloud-based development and CI/CD without the need for large custom hardware farms. With Arm Virtual Hardware, product design cycles can be significantly accelerated. Arm Virtual Hardware reduces dependency on physical hardware and opens the door to new paradigms such as cloud-native software development for the embedded edge. Imagine Arm Virtual Hardware as the equivalent of virtual machines but for endpoint devices. It provides a functionally accurate representation of an Arm-based SoC, simulating the behavior visible to the software but abstracting the complexity of the underlying hardware.
Software engineering teams will benefit from a scale never seen before as the bottleneck of physical hardware availability is removed.
At the heart of this benefit live two traditional embedded workflow constraints: developer efficiency and the availability of quality control data to inform business decisions around the software workloads. Arm Virtual Hardware breaks through these historical ceilings by leveraging the scalability of today’s modern cloud environments. For example, if a team would like to halve the software testing time or double the test coverage, they can simply duplicate the number of Virtual Hardware instantiated in their continuous integration (CI) cloud environment. Arm Virtual Hardware eliminates the need to manage physical lab space or similar logistical tasks that plague common IoT software product lifecycles.
The Solution: Enabling cloud development at the same time hardware is designed shrinks cycle time from 5 to 3 years.
A Cloud-Based Innovation Accelerator
Arm Virtual Hardware goes beyond just simulating the Arm CPU; it provides mechanisms to accurately simulate the memory subsystem as well as peripherals. As such, Arm Virtual Hardware is suitable for bare-metal development up to kernel and application development on rich operating systems such as Linux.
With the current release of Arm Virtual Hardware, Arm is providing a ‘virtual peripheral driver’ that will mimic common I/O formats such as audio front ends. Users will configure the virtual driver for the appropriate analog-to-digital data stream your product requires. In the future, Arm and its partners will be investing in additional peripheral configurations which will further ease common data I/O requirements your products need.
Arm Virtual Hardware is available as part of Arm Total Solutions for IoT at the same time the underlying hardware design is ready. As a result, the whole ecosystem, including OEMs, can start to develop software for new devices long before silicon is available. This means faster time to market for everyone as well as additional insurance for silicon partners who demand your future chip is generated even before tape-out. As developers have begun exploring what Arm Virtual Hardware can do, they’ve also been open with us about what other features and functionality they want to see from it. There were three key areas they wanted us to address:
We heard this feedback loud and clear and have invested in addressing it in a number of ways.
First, we are announcing models for additional Cortex-M processors as part of the Arm Virtual Hardware offering on AWS. We’ve added seven of our most popular Cortex-M models.
On the tooling side, we are actively making it much easier for other tools providers to support Arm. GitHub, the most popular source code hosting service for developers, has asked to integrate Arm tools including a compiler and virtual hardware into their service. It will mean users can get AVH where they already go, saving them from any complicated setup process.
We are also integrating Arm Virtual Hardware into Keil tooling, making it a natural part of the development process. Keil MDK Professional now also includes the Cortex-M Arm Virtual Hardware with the capability to run them locally to accommodate traditional embedded development workflows as well.
We are bringing Arm Virtual Hardware support for existing third-party ecosystem devices, as well as Cortex-A53, in line with the new Total Solution for Cortex-A. The first devices to be added include popular third-party hardware from NXP and STMicroelectronics, as well as a virtual Raspberry Pi. By extending Arm Virtual Hardware to ecosystem devices, independent software vendors and cloud service providers can now take advantage of the billions of Arm-based IoT and embedded devices already deployed.
Read how Arm Virtual Hardware can help you scale design and get to market faster.