Microcontrollers power the world around us.
They come with low memory resources and high requirements for energy efficiency. At the same time, they are expected to perform advanced machine learning interference in real time.
In the embedded space, countless engineers are working to solve this challenge.
The powerful Arm Cortex-M-based microcontrollers are a dedicated platform, optimized to run energy-efficient ML.
Arm and the TensorFlow Lite Micro (TFLM) team have a long-running collaboration to enable optimized inference of ML models on a variety of Arm microcontrollers.
Additionally, with well-established technologies like CMSIS-Pack, the TFLM library is ready to run on to 10000 different Cortex-M microcontroller devices with almost no integration effort.
Combining these two offers a great variety of platforms and configurations. In this article, we will describe how we have collaborated with the TFLM team to use Arm Virtual Hardware (AVH) as part of the TFLM projects open-source continuous integration (CI) framework to verify many Arm-based processors with TFLM.
This enables developers to test their projects on Arm intellectual property IP without the additional complexity of maintaining hardware.
Arm Virtual Hardware - Models for all Cortex-M microcontrollers
Arm Virtual Hardware (AVH) is a new way to host Arm IP models that can be accessed remotely. In an ML context, it offers a platform to test models without requiring the actual hardware. The following Arm M-profile processors are currently available through AVH:
Cortex-M0, Cortex-M0
Cortex-M3, Cortex-M4, Cortex-M7
Cortex-M23, Cortex-M33
Arm Corstone is another virtualization technology, in the form of a silicon IP subsystem, helping developers verify and integrate their devices. The Corstone framework builds the foundation for many modern Cortex-M microcontrollers. AVH supports multiple platforms including Corstone-300, Corstone-310 and Corstone-1000.
Through Arm Virtual Hardware, these building blocks are available as Amazon Machine Image (AMI) on Amazon Web Services (AWS) Marketplace and locally through Keil MDK-Professional.
GitHub Actions and Arm Virtual Hardware
GitHub Actions provides a popular CI solution for open-source projects, including TensorFlow Lite Micro. The AVH technology can be integrated with the GitHub Actions runner and that can be used to run tests on the different Arm platforms as natively compiled code without the need to have the hardware available.
Let’s get into how it’s done!