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 illustrate how to setup Keil Microcontroller Development Kit to connect to the Corstone-300 FVP. For information on connecting Arm Development Studio to the Corstone-700 FVP, please see here.
Through CMSIS software packs, Keil MDK provides out of the box support for Corstone-300 (specifically the Corstone SSE-300 subsystem therein), including a ready to use example project to help you get started. Ensure you have MDK v5.30 (or later) installed, as this was the first to support the Cortex-M55. If you do not have a license for MDK, you can request a 30-day evaluation license from inside the IDE by following the instructions here.
Open the Pack manager, and search for Cortex-M55. You will find the SSE-300-MPS2 device listed. If not installed, click the Install button for the V2M_MPS2_SSE_300_BSP device pack, and it will automatically start downloading. Once installed, the button will change to say 'Up to date'.
You can now use this device to create a new project for the FVP.
To help you get started, the Device Pack also supplies a simple Blinky project. In the Pack Manager, click the Examples tab, and you can Copy the project to your host machine. Once copied, the project can be easily rebuilt.
The project is ready to run on the FVP, however Keil MDK does not yet know the location that the FVP is installed to. Click the Options for Target button, and navigate to the Debug pane. In the upper right, ensure Use Models ARMv8 M Debugger is enabled and selected from the drop-down.
Then click the Settings button for this option, and (using the browse button for convenience) specify the path to the FVP executable as the launch command. Click OK to save it for further use of the project.
You can now debug your code running on the FVP, just as you may have previously with development boards.
For more information on developing with Cortex-M55, you may find this blog from my colleague useful.
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
Nice job !
As a side note: the free Corstone-300 FVP also works with MDK-Lite!