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 get started with the Corstone-320 FVP, leveraging the Arm® ML Embedded Evaluation Kit (MLEK) available on review.mlplatform.org.
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 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.
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 installation guide to set up the virtual environment.
Next, set up your development environment. Clone the MLEK repository and follow the setup instructions provided. Ensure that all necessary dependencies are installed. Also see the complete documentation for Arm® ML embedded evaluation kit.
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 provides capabilities like encrypted communications to AWS hosted applications, secure on-device storage and device attestation. It also lets you 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.
With the launch of the Arm Corstone-320 hardware and software, it has 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.
Finally, the Arm Developer Community provides a wealth of tutorials, documentation, and 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.
Arm Developer Community