Editor’s take: One of the biggest challenges that the IoT market has faced in reaching the often-touted potential of billions and billions of connected devices is that there is a limited number of people who know how to create software for microcontrollers and other types of Arm processors. In most industries, the idea of moving something into the cloud is now old news. Ironically, when it comes to writing and testing software for specialized chip designs, it turns out the concept of using the cloud is less common than many realize.
Last fall, Arm debuted its Total Solutions for IoT, an effort to make the process of creating IoT devices easier. Part of the announcement that got somewhat lost in the noise was Arm Virtual Hardware. The basic idea behind it is to emulate the operation of a given chip in software, so that software developers can write applications without needing to have the physical chip present.
Given the huge variety of potential chip options when it comes to creating IoT devices, this is significantly more important than first appears.
At the initial launch, the company essentially tested the waters with the announcement of Amazon AWS-based, virtual implementations of its Cortex M55 microcontroller and Ethos U55 NPU (neural processing unit). Developer reaction to those initial two was very positive, so the company moved to aggressively expand the range of options with the latest iteration of its Total Solutions for IoT strategy.
Arm then unveiled software-based, instruction-accurate replicas of seven of its most popular M-series microcontroller IP designs (Cortex M0, M0+, M3, M4, M7, M23 and M33) as well as two new members of its Corstone line of SoC architectures. Collectively, they represent the chip architectures found in over 80 billion (!) existing Arm-based IoT devices.
In addition to being an impressive number, this means software developers suddenly get access to and can develop for a staggeringly large installed base of devices. Realistically, only a small fraction of those devices are potential targets for new software advances, but still, it’s an attractive potential target.
More importantly, the expansion of Arm’s Virtual Hardware options makes the possibility of creating software for a range of new Arm-based IoT devices more interesting to a wider range of developers. Part of the reason for this is that by moving to a cloud-based software development environment, programmers can take advantage of cloud-native software development technologies and practices, including CI/CD (Continuous Integration/Continuous Delivery), DevOps, cloud-based Machine Learning frameworks and more.
By letting modern developers use the tools and practices to which they’ve become accustomed, there’s a broader base of programmers with the right kind of skill sets to tackle the IoT market.
Until now, most microcontroller-focused programming efforts haven’t been able to leverage these more modern and more attractive development processes, and that’s part of the reason the number of developers who can write IoT-based software has remained so small. By letting modern developers use the tools and practices to which they’ve become accustomed, there’s a broader base of programmers with the right kind of skill sets to tackle the IoT market. That, in turn, should lead to more projects getting started and more compelling solutions getting created.
In addition to these theoretical and philosophical benefits, the growing range of virtual hardware options also has practical benefits for existing IoT developers. As mentioned before, there’s a huge range of different IoT-focused chip designs and having physical access to all of them can be challenging. Plus, from a timing perspective, developers leveraging virtual hardware can start writing software before final silicon is available or even before chip designs are finished. For applications that might use multiple, simultaneous controller boards, virtual hardware options make it significantly easier to configure the expected hardware solution and then test applications against the entire hardware stack.
Arm also worked with some of its partners to create virtual implementations of complete developer boards, such as Raspberry Pi Model 4, NXP’s i.MX 8M, and STMicroelectronics’ STM32U5 Discovery board. In conjunction with Arm’s Corstone designs, as well as the individual microcontroller models, that means developers can focus on virtually any kind of hardware target—from an individual controller to a full SoC to a complete board—and easily develop for and test against any one of them.
In the case of Arm’s new Corstone SoCs, the 310 is targeted at applications that need voice recognition support, such as smart speakers, connected thermostats, drones and more, while the Corstone 1000 is meant for cloud-native edge devices such as smart cameras, IoT gateways, vending machines and so forth. Developers who want to build software and other applications for these types of devices can launch their favorite IDE, connect to one of the Arm Virtual Hardware models, and start programming over a cloud connection. If they don’t have a cloud connection, they can also use Arm’s Keil environment for local desktop programming.
For developers who want to do things like use GitHub actions to automate the testing of their software, use Jenkins for the building, testing or deploying of their software, or leverage other popular cloud-based programming tools or processes, the new versions of Arm Virtual Hardware support these capabilities as well.
For the IoT market to ever reach the enormous numbers that have been promised, a significantly larger number of developers will need to be recruited to work in this space. Arm is taking a big step towards helping with this process by making the tools and processes for creating IoT-focused software much easier, while also offering the potential benefits of code reusability across a wider range of devices. Even with these efforts, it won’t be easy, and it won’t happen overnight. However, it’s yet another important step in making the promise of IoT real.
Bob O’Donnell is the founder and chief analyst of TECHnalysis Research, LLC a technology consulting firm that provides strategic consulting and market research services to the technology industry and professional financial community. You can follow him on Twitter @bobodtech.