Editor’s opinion: One of the biggest challenges the IoT market has faced in reaching the oft-touted potential of billions and billions of connected devices is that there is a limited number of people who know how to build software for microcontrollers and other types of Arm processors. In most industries, the idea of ​​moving anything to the cloud is outdated. Ironically, when it comes to writing and testing software for custom chips, it turns out that the concept of using the cloud is less common than many people think.

- Advertisement -

Last fall, Arm introduced end-to-end IoT solutions designed to simplify the process of building IoT devices. The part of the announcement that got lost in the noise was about Arm Virtual Hardware. The main idea is to emulate the operation of a given chip in software so that software developers can write applications without the need for a physical chip.

- Advertisement -

Given the huge variety of potential chip options, when it comes to building IoT devices, this is more important than meets the eye.

At its initial launch, the company was essentially testing the waters by announcing virtual implementations of its Cortex M55 MCU and Ethos U55 NPU (Neural Processing Unit) based on Amazon AWS. Developer response to these first two has been very positive, so the company has embarked on an aggressive expansion of the range of options with the latest iteration of its “Total IoT Solutions” strategy.

- Advertisement -

Arm then unveiled soft copies of seven of the most popular M-series IP designs (Cortex M0, M0+, M3, M4, M7, M23 and M33), as well as two new additions to the Corstone line. SoC architectures. Collectively, they represent the chip architectures used in over 80 billion(!) existing Arm-based IoT devices.

In addition to being an impressive number, this means that software developers are suddenly gaining access and can develop for a staggeringly large installed base of devices. In fact, only a small fraction of these devices are potential targets for new software advances, but it’s an attractive potential target nonetheless.

More importantly, expanding the capabilities of Arm virtual hardware makes the ability to create software for a range of new Arm-based IoT devices more interesting for a wider range of developers. This is partly because by moving to a cloud-based software development environment, programmers can take advantage of cloud technologies and software development practices, including CI/CD (continuous integration/continuous delivery), DevOps, cloud-based machine learning frameworks, and more.

By allowing today’s developers to use the tools and methods they are accustomed to, there is a broader base of programmers with the right skill set to enter the IoT market.

Until now, most microcontroller-focused programming efforts have not been able to take advantage of these more modern and attractive development processes, and this is one of the reasons why the number of developers who can write IoT-based software remains so small. By allowing today’s developers to use the tools and methods they are accustomed to, there is a broader base of programmers with the right skill set to enter the IoT market. This, in turn, should lead to the launch of more projects and the creation of more attractive solutions.

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 earlier, there are a huge number of different IoT-focused chip designs, and physical access to all of them can be difficult. Also, in terms of time, developers using virtual hardware can start writing software before the final silicon is ready, or even before the chip design is complete. For applications that can use multiple controller boards at the same time, virtual hardware options make it much easier to set up an expected hardware solution and then test applications across the entire hardware stack.

Arm has also worked with some of its partners to create virtual implementations of complete developer boards such as NXP’s Raspberry Pi Model 4, i.MX 8M, and STMicroelectronics’ STM32U5 Discovery board. Combined with Arm’s Corstone designs as well as individual microcontroller models, this means developers can focus on virtually any hardware target—from a single controller to a complete SoC to a complete board—and easily develop and test any of them. of them.

As for Arm’s new Corstone single-chip systems, the 310 is designed for applications that require voice recognition support such as smart speakers, connected thermostats, drones, etc., while the Corstone 1000 is designed for cloud edge devices such as smart cameras. IoT gateways, vending machines and so on. Developers who want to create software and other applications for these types of devices can launch their favorite IDE, connect to one of Arm’s 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 testing of their software, use Jenkins to build, test, or deploy their software, or use other popular cloud programming tools or processes, the new versions of Arm Virtual Hardware also support these opportunities.

For the IoT market to ever reach the huge numbers that have been promised, a significantly larger number of developers will need to be hired to work in this area. Arm is taking a big step to help with this process by greatly simplifying the tools and processes for building IoT-centric software, while also offering the potential benefits of code reuse across a wider range of devices. Even with these efforts, it won’t be easy, and it won’t happen overnight. However, this is another important step towards making the promise of IoT a reality.

Bob O’Donnell – Founder and Principal Analyst Technalize Research LLC technology consulting firm that provides strategic consulting and market research services to the technology industry and the financial professional community. You can follow him on Twitter @bobodtech.