Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Announcements
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Software Tools
  • Developer Community
  • Tools and Software
  • Software Tools
  • Jump...
  • Cancel
Software Tools
Tools, Software and IDEs blog Get started with software development for the Corstone-700 virtual platform
  • Tools, Software and IDEs blog
  • Forums
  • Videos & Files
  • Jump...
  • Cancel
More blogs in Software Tools
  • Tools, Software and IDEs blog

Tags
  • Arm Development Studio
  • Keil
  • Corstone-700
  • Fixed Virtual Platforms (FVPs)
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Get started with software development for the Corstone-700 virtual platform

Ronan Synnott
Ronan Synnott
October 5, 2020

Arm have released a collection of free of charge Ecosystem Fixed Virtual Platforms (FVPs) to enable developers to get an early start at developing software on top of the Arm Corstone-300 or Corstone-700 reference systems. These systems have been designed for different classes of IoT devices, with Corstone-300 utilizing Arm Cortex-M55 processor with support for Helium, enabling best in class ML applications. Corstone-700 utilizes the Cortex-A32 processor, the lowest power solution for Linux based software.

In this blog, I will briefly illustrate how to setup Arm Development Studio to connect to the Corstone-700 FVP. For information on connecting Keil Microcontroller Development Kit to the Corstone-300 FVP, see here.

Connecting Arm Development Studio to Ecosystem Corstone-700 FVP

Development Studio provides support for all Arm processors, not just Cortex-M, and so this can be used with both the Corstone-700 and Corstone-300 FVPs, though I shall only discuss Corstone-700 here. Note that at time of writing (Development Studio 2020.0) Cortex-A32 is supported by Silver and higher editions. You can generate a 30-day evaluation license inside the IDE (Help > Arm License Manager >  if you do not have a suitable license available.

Generating an evaluation license

I built the reference software stack as described here for the below, which uses a tiny Linux implementation. This includes a script (run_model.sh) to launch the FVP with the stack standalone.

You can edit the script to add -I to launch with FVP with an Iris debug interface enabled, so that the debugger can connect. Use -p to show the port number (default is 7100), else --iris-port to specify a specific port number. You can then create a debug instance to connect to an already running model (explained below).

Here I shall launch the FVP system completely from within the Development Studio IDE. I have copied the built files from my Linux build machine to my Windows host.

The Ecosystem FVPs were released after Development Studio 2020.0. Though we plan to include the platform configuration for them in future releases. I attach the configurations that you can reuse:

Ecosystem_FVP_configs.zip

Extract the file to your host machine (we recommend you do this inside your Workspace folder). Open Preferences (from the Window menu), and navigate to the Configuration Database section. Use the Add button to point to the location of this new database, and then Rebuild the database. When done, you can close this view.

Add configuration database

The Corstone-700 FVP consists of a quad-core Cortex-A32 as well as a Cortex-M0+ (the boot processor) and a Cortex-M3.The firmware for the Cortex-M0+ must run first, and so I have created three debug connections in this order (launch configurations are also attached below). The first connection will launch the FVP, with all the options to load the firmware binaries, connect, and halt, the Cortex-M0+ of the model, via Iris.

Cortex-M0plus debug configuration

These options were extracted from the run_model.sh script, Note for portability you can use the workspace_loc notation for the path to always refer to files within this workspace folder. You do not need to specify -I (or -p), they are automatically appended. Replicated below for readability.

-C se.trustedBootROMloader.fname="${workspace_loc:/Corstone700/images/corstone700/se_romfw.bin}"
-C board.flashloader0.fname="${workspace_loc:/Corstone700/images/corstone700/iota-tiny-image-corstone700.wic}"
-C extsys_harness0.extsys_flashloader.fname="${workspace_loc:/Corstone700/images/corstone700/es_flashfw.bin}"

The next connection is to the Cortex-A32 cluster. Note that this is configured to connect to the already running model, you only need to know the port number (and host IP if running remotely).

Cortex-A32 debug configuration

Similarly, you can also connect to the Cortex-M3 of the model. Also, if you started the model externally, then you would also use this already running model connection for any of the processors within the model.

We can now control the FVP from the debugger. Click continue, and all CPUs will run in parallel, and boot into their appropriate code. We can debug all processors simultaneously.

Development Studio debug

Get started today

The Internet of Things will open up countless opportunities for innovation, and Arm is at the forefront of the technology enabling this. With these Corstone FVPs, in conjunction with Keil MDK and/or Arm Development Studio, and the software stacks already available for these platforms, you can get a head start developing applications for this space. The virtual platforms are available free of charge, and fully featured Keil MDK Professional and Arm Development Studio Gold evaluation versions are also available.

Download the Ecosystem FVPs today

Anonymous
  • Ronan Synnott
    Ronan Synnott 2 months ago

    Update:

    Arm Development Studio 2020.1 is now available, containing the debug configurations out-of-the-box. For more information:
    community.arm.com/.../arm-development-studio-2020-1-now-available

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Tools, Software and IDEs blog
  • Lenovo adopts Arm technology as it expands its 5G strategy

    Frank Zou
    Frank Zou
    Arm technology can now be found across Lenovo’s 5G infrastructure product portfolio with the Lenovo’s FutureCore 5G Core Network server built on an Arm-based CPU designed in China.
    • January 14, 2021
  • Optimizing an ASCET-DEVELOPER generated automotive application with the Arm Compiler

    Ronan Synnott
    Ronan Synnott
    This blog shows how to get >2x better performance by creating optimized control applications with ASCET and Arm Compiler for automotive and industrial use
    • January 7, 2021
  • Kickstart your ML development with free Ethos-U55 platform

    Pareena Verma
    Pareena Verma
    In this blog, learn how to start your development with a free Ethos-U55 platform.
    • January 6, 2021