Arm has launched the Arm Development Studio, the latest suite of tools for embedded C/C++ software development on any Arm-based platform. Building on over 25 years of experience, Development Studio incorporates many of the best features of previous tool generations, unifying the development flow in a single, easy to use environment.
In this article I would like to introduce some basic first steps to help you get started with the tool as quickly as possible.
When you first launch the Development Studio IDE, you will be prompted to set up the license to enable the tool. You can also make changes to your license set up at any time via the Arm License Manager within the Help menu.
To generate an evaluation license, select Obtain evaluation license and click on Next. Use your login credentials for the main Arm website (you can register for free if necessary). You will be prompted to tie your license to a valid HOSTID, which on Windows can be the MAC address of any enabled networking device on your machine. If installing on Linux, this (or any node-locked) license must be tied to the device identified as precisely eth0.
If you have generated a product license, you will first be asked for the license file, or to point to your floating license server, depending on the type of license you have purchased.
You will be prompted to specify which edition of the tool you wish to use. For most users this would simply correspond to the edition of the tool that you purchased, but there can be situations where users have access to multiple licenses for various editions, and so in this case you should select the minimum edition necessary for your requirements.
Should you wish to make any changes at any time, simply launch the Arm License Manager again, which will bring you to this same panel, allowing you to change to a different edition, or edit the licenses to your installation.
You should now be enabled to use Development Studio… so let’s try it out!
Development Studio fully supports the many software packs and middleware previously only supported within Keil MDK. This allows you to easily import existing projects and examples for over 5000 devices to the Development Studio IDE via the intuitive importing wizard.
For more detail on this, see here.
Similarly, you can import existing projects and workspaces from DS-5 to your Development Studio IDE. For more information on this see here.
No matter how the code has been built, the next step is to connect to a target to download, execute, and debug. Development Studio supports connection to silicon and FPGA targets via a number of debug probes, as well as virtual platforms based on Arm Fast Models and Arm Cycle Models. Development Studio also includes a number of Fixed Virtual Platforms (FVPs), which are ready-made complete system simulations based on Fast Models technology.
Click on the New Debug Connection icon to start the New Debug Connection wizard.
You will first be asked what type of target you wish to connect to.
A Hardware Connection is used to connect to a real physical platform (via JTAG), a Model Connection will connect to a virtual platform, and a Linux Application Connection will use connect to gdbserver running on a target (real or virtual) capable of executing Linux Applications. Let us first connect to one of the FVPs provided within Development Studio.
Select Model Connection, and click Next. We will first be prompted to give the connection a meaningful name (“Example1” in the below).
There are several ready to use configurations available to select, including additional FVPs not installed with Development Studio. We will use the Cortex-M3 example provided with the product. The text filter makes this easy to find. Enter “M3” in that field, select the MPS2_Cortex_M3 FVP, and click on Finish.
You will then go to the Edit Debug Configuration pane, allowing you to set additional specific parameters, such as the image to load upon connection.
If you have created your own virtual platforms, follow the same first steps, then click the Add a new model… button when specifying the target to connect to.
You can point to a specific executable for the virtual platform, or browse for an existing running platform. A separate blog on this topic has been written by my colleague Jason Andrews.
The steps to connect to a hardware development board via any of the supported debug probes is very similar. Select Hardware Connection from the New Debug Connection wizard.
Give the connection a suitable name, and optionally associate it with an existing build project, if available.What happens next depends on the nature of the (associated) project. If it is a pack based project, then the target information is already intrinsically part of that project, and so all you need to do is confirm the Connection type, that is the debug probe being used (ULINKpro D in my example below). Click on the Browse button to identify the debug probe.
The first time you attempt to connect, the debugger will perform some auto-detection of the target to ensure verify that the CPU is indeed connected. Subsequent connections should proceed automatically.
If the project was not pack based, then after selecting Hardware Connection, you will be presented with a list of known platforms. Use the text filter to locate your target easily.
If you are using a platform that is not listed, ensure you are connected to your platform, and click the Add a new platform button. When prompted, select your debug probe, and auto-detection of your target will occur. When complete, you will be prompted to save your configuration.
Name the platform as desired, and click on Finish to save.
Your new platform will now be available to select as before.
Because this project was not associated with a pack based project, it does not necessarily know the structure of the target. You will be prompted to specify again the debug probe and other settings.
When done, click on Debug to proceed as before.
Development Studio is not just a tool for developing software for Arm CPUs. The Mali Graphics Debugger is also included, a powerful debug and trace tool supporting OpenGL ES, OpenCL, and Vulkan APIs on any of the Mali range of GPUs, running Linux or Android in conjunction with Arm CPU(s).
If you are new to the Development Studio family of tools, you may not be aware of the Streamline performance analyzer. This powerful tool can collect data from your target in several ways and generate profiling information for Cortex CPUs and Mali GPUs, as well as other system information. This is visualized as a timeline of execution, from which you can deep dive into how your overall system is performing.
Here are a few articles that we have written previously highlighting some of the capabilities of this tool.
As described earlier you can generate a 30-day evaluation license within the tool to see all the new and improved features of Development Studio. We invite you to download and try out the tool today below. Arm will also soon host a free webinar to introduce Development Studio in more detail. To register for this webinar please visit this link.
Download free trial