Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
AI blog Getting started with the Corstone-320 FVP for Arm Ethos-U85 NPU and Cortex-M85 processor
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Keil MDK
  • Open Source Projects
  • Machine Learning (ML)
  • Corstone
  • fvp
  • Cortex-M85
  • Arm Virtual Hardware
  • CMSIS RTOS
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Getting started with the Corstone-320 FVP for Arm Ethos-U85 NPU and Cortex-M85 processor

Zineb Labrut
Zineb Labrut
November 22, 2024
7 minute read time.

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. 

Introduction to Fixed Virtual Platforms (FVPs) 

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.

Introduction to Corstone-320 

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: 

  • Basic device drivers and hardware abstractions in the form of CMSIS Core and CMSIS-Driver libraries. Find out more about CMSIS technologies here. 
  • Integration with popular RTOSes including FreeRTOS and Zephyr. Find FreeRTOS support for Corstone in the upstream project and in the FreeRTOS CMSIS-Pack 
  • Security software such as Mbed TLS and Trusted Firmware-M provides strong crypto and secure storage and a secure firmware update. 
  • Tools for professional developers, including Keil MDK.  
  • Drivers and libraries to run Endpoint AI applications on the Ethos-U85 NPU. 

Arm’s free open-source software lets you build and run an Endpoint AI application on Corstone-320. 

Overview of the Arm® ML Embedded Evaluation Kit (MLEK) 

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. 

ML Use Cases Provided by MLEK 

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: 

  • Image Classification: Recognize the presence of objects in each image using the Mobilenet V2 neural network model. 
  • Keyword Spotting (KWS): Identify keywords in audio recordings with the MicroNet model. 
  • Automated Speech Recognition (ASR): Transcribe words from audio recordings using the Wav2Letter model. 
  • KWS and ASR: Utilize both Cortex-M and Ethos-U to transcribe words after spotting keywords, using MicroNet and Wav2Letter models. 
  • Anomaly Detection: Detect abnormal behavior in machine sound recordings with the MicroNet model. 
  • Visual Wake Word: Identify if a person is present in an image using the MicroNet model. 
  • Noise Reduction: Remove noise from audio while preserving speech using the RNNoise model. 
  • Object Detection: Detect and draw bounding boxes around faces in images using the Yolo Fastest model. 
  • Generic Inference Runner: Develop custom use cases for the Ethos-U NPU with your own models. 

Getting Started with Corstone-320 FVP 

Step 1: Installing the FVP 

To get started, install the FVP for the Arm® Corstone  320. Follow the MLEK project's installation guide to set up the virtual environment. 

Step 2: Setting Up the 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. 

Step 3: Exploring Sample Applications 

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. 

Step 4: Deploying and Running on the FVP 

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. 

Enhance your Development Workflow  

To further enhance your development capabilities, explore the Arm projects and tools that are designed to streamline your workflow. 

Using Arm® Keil MDK v6 Tool 

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.  

Exploring Additional Projects and Tools 

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. 

Conclusion 

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. 

Resources: 

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 

Anonymous
  • Zineb Labrut
    Zineb Labrut 1 month ago

    Use this link to access the latest ML Embedded Evaluation Kit repository: https://gitlab.arm.com/artificial-intelligence/ethos-u/ml-embedded-evaluation-kit 

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Diya Soubra
    Diya Soubra 6 months ago

    this is the direct link to the FVP download page 

    https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms/IoT%20FVPs

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
AI blog
  • Build AI responsibly with the Yellow Teaming methodology and LLM assistant

    Zach Lasiuk
    Zach Lasiuk
    Yellow Teaming helps developers build responsible AI by aligning products with long-term value, not just short-term success.
    • June 6, 2025
  • Unlocking audio generation on Arm CPUs to all: Running Stable Audio Open Small with KleidiAI

    Gian Marco Iodice
    Gian Marco Iodice
    Real-time AI audio on Arm: Generate 10s of sound in ~7s with Stable Audio Open Small, now open-source and ready for mobile.
    • May 14, 2025
  • Deploying PyTorch models on Arm edge devices: A step-by-step tutorial

    Cornelius Maroa
    Cornelius Maroa
    As AI adoption in edge computing grows, deploying PyTorch models on ARM devices is becoming essential. This tutorial guides you through the process.
    • April 22, 2025