A Comprehensive Guide Using the Arm® ML Embedded Evaluation Kit
Starting a machine learning (ML) application can be challenging, especially when it involves specialized hardware. Fortunately, the Corstone-320 Fixed Virtual Platform (FVP) simplifies this process by allowing you to develop and test ML applications without physical hardware.
The Corstone-320 FVP emulation platform offers a powerful foundation for developing advanced ML applications. Learn how to with the Corstone-320 FVP, leveraging the Arm® ML Embedded Evaluation Kit (MLEK) available on Arm Gitlab.
Fixed Virtual Platforms are sophisticated hardware simulation models that enable software development and testing without physical hardware. Particularly valuable in the early stages of development, it allows developers to begin working on software long before the hardware is available.
FVPs provide an accurate representation of the final hardware, ensuring that the software developed and tested on these platforms will perform as expected once deployed on the physical device. This significantly accelerates the development cycle, reduces costs, and mitigates risks associated with hardware dependencies. For additional information, visit Arm Ecosystem IoT FVPs.
The Corstone-320 is a pre-integrated system IP that combines the Arm® Ethos -U85 NPU and the Cortex -M85 Processor. The Ethos-U85 NPU is a specialized ML processor designed to accelerate machine learning computations in embedded and IoT devices, making it ideal for handling ML workloads efficiently. For additional information, visit Corstone-320: Efficient AI SoC Development.
To download the Corstone-320 FVP visit the IoT FVPs space
Developers need platform software to unlock the full potential of hardware. Arm provides a raft of software components and tools for use with the Corstone-320, including:
Arm’s free open-source software lets you build and run an Endpoint AI application on Corstone-320.
The open-source project, Arm® ML Embedded Evaluation Kit, provides a suite of ready-to-use ML applications, enabling users to develop and evaluate ML workloads running on the Arm® Ethos-U NPU and Cortex-M CPUs. This kit includes use cases and tools to measure performance metrics like inference cycle count.
The MLEK offers end-to-end software use cases that demonstrate the capabilities of the Ethos-U NPU and Cortex-M CPUs. Below is a list of included ML applications:
To get started, install the FVP for the Arm® Corstone 320. Follow the MLEK project's installation guide to set up the virtual environment.
Next, set up your development environment. Clone the MLEK repository and follow the setup instructions provided in this documentation. Ensure that all necessary dependencies are installed. For complete documentation, use this link.
The MLEK project provides a range of sample ML applications. Start by exploring these to understand how the Ethos-U NPU and Cortex-M CPUs are utilized. Run the provided examples to see the inference cycle counts and performance metrics.
After selecting or developing your ML applications, deploy and execute them on the Corstone-320 Fixed Virtual Platform. Begin by compiling your application code and ensuring it is compatible with the FVP environment. Move the compiled binaries to the virtual environment and refer to the provided guidelines. Ensure that you follow the deployment instructions tailored to your configuration.
After deployment, initiate the execution of your application on the FVP. Monitor the output logs and use the debugging tools to track the performance and functionality of your model. Utilize the performance metrics gathered to fine-tune and optimize your ML application further.
Modify existing MLEK models or integrate your own custom models to see how they perform on the Corstone-320 FVP. Experiment with different scenarios to optimize performance.
To further enhance your development capabilities, explore the Arm projects and tools that are designed to streamline your workflow.
Keil MDK v6 is Arm’s comprehensive software development solution for Cortex-based microcontrollers and Ethos-based NPUs. It provides all the essential components for creating, building, and debugging applications seamlessly.
Keil MDK v6 utilizes CMSIS-Packs for device and board support, as well as for delivering software components necessary for your projects. The new Keil Studio IDE, which consists of a set of VS Code extensions, fully supports CMSIS workflows and offers an integrated debugger for an efficient development experience.
To get started, install the Keil Studio Pack. The support for CMSIS-Packs facilitates quicker development and deployment. When installing the Keil MDK v6 extension in Visual Studio Code, all necessary tools are automatically configured, and the Corstone FVP is also auto installed for added ease. On GitHub, the CMSIS Pack Based Machine Learning Examples help you explore Arm Keil MDK v6 tool. These ML examples utilize Keil MDK v6 and the CMSIS-Pack from the ML Embedded Evaluation Kit.
In addition to the above steps, there are other valuable resources that can enhance your development experience with the Corstone-320 FVP.
The Arm Corstone FreeRTOS reference integration is a great starting point if you want to build a full connected application with connectivity to cloud services and security baked in. This provides a fully integrated stack with the FreeRTOS kernel and libraries, and AWS device management services integrated with the Trusted Firmware-M security libraries.
This complies with the rigorous PSA certified security requirements and gives youprovides capabilities like encrypted communications to AWS hosted applications, secure on-device storage and device attestation. It also givelets you the ability to update your device firmware securely through the PSA Firmware Update mechanisms.
Another resource for emulation is the Arm® Virtual Hardware platform, which allows you to simulate hardware for development and testing purposes in the cloud. Utilizing this platform, you can accelerate the development cycle by testing your applications in a virtual environment before deploying them on the actual hardware.
Lastly, the Arm® Developer website provides a wealth of tutorials, documentation, and community forums where you can find answers to your questions and share insights with other developers. Engaging with these resources will help you make the most out of the Corstone-320 FVP and enhance your machine learning application development.
With the launch of the Arm Corstone-320 hardware and software, it’s never been easier for developers to get started building compelling, feature rich Endpoint AI applications. Arm provides a comprehensive set of projects and tutorials designed for ease of use, helping you make the most of Arm IPs. In this example, the Corstone-320 FVP, coupled with the Arm® ML Embedded Evaluation Kit, offers a robust platform for developing and evaluating machine learning applications on embedded and IoT devices. By following this guide, you can leverage the pre-integrated system IP, and the comprehensive tools provided by Arm to create and optimize your ML workloads efficiently.
Cortex-M85 Key Resources Learn more about Ethos – U85: Arm Ethos-U85: Addressing the High-Performance Demands of IoT in the Age of AI Corstone-320: Efficient AI SoC Development Arm® ML Embedded Evaluation Kit Advanced Ready-to-Use Reference Applications Project CMSIS Pack Based Machine Learning Examples Arm® Ecosystem FVPs Keil MDK v6 CMSIS-Packs Arm® Virtual Hardware platform Arm® Developer website