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 Accelerate development with Development Studio 2020.0
  • Tools, Software and IDEs blog
  • Forums
  • Videos & Files
  • Jump...
  • Cancel
More blogs in Software Tools
  • Tools, Software and IDEs blog

Tags
  • Arm Development Studio
  • SIMD and Vector Processing Instructions
  • Cortex-M
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Accelerate development with Development Studio 2020.0

Ronan Synnott
Ronan Synnott
March 31, 2020

Spring has arrived for many, and with it comes the latest update of Arm Development Studio. This 2020.0 release adds the latest Arm IP support and useful new features across all the components. This release provides the first public support for the Cortex-M55 processor. There is also debugger and build support for systems implementing Arm Custom Instructions. Both of these key technologies are supported by all editions, including the next release of Development Studio Platinum Edition, available soon.

Tools support for the entire CPU portfolio

As given Arm processors become more readily available on devices in the marketplace, the support matrix of those cores within the different editions also evolves. Cortex-A77, Cortex-A34, and Neoverse N1 processors are all now supported by the appropriate Development Studio edition. For a complete look at how the various Arm processors are supported per edition see here. Out-of-the-box support for standard platforms also continues to grow. New validated debug configurations include key automotive and embedded market devices, as well as the latest Arm subsystems:

  • NVIDIA Xavier
  • Renesas R-Car D3, R-Car V3M, R-Car E3
  • Raspberry Pi 4
  • Cortex-M33 (SSE-200 Subsystem) MPS2+ and MPS3 FPGA
  • Corstone-700 MPS3 FPGA
  • DesignStart A5 MPS3 FPGA

Create advanced DSP and ML solutions

Included by default is the latest Arm Compiler 6.14. This mature, industry-leading toolchain is the standard compiler for a number of stand-alone and RTOS-based embedded applications. Arm continues to focus on performance improvements with each release. It is recommended to stay up to date with the latest compiler version whenever possible.

Arm Compiler 6.14 is the first to support Cortex-M55, enabling higher DSP and machine learning application performance via Helium code.

armclang -c --target=arm-arm-none-eabi -mcpu=cortex-m55

Debug support is also provided, with user-selectable visualizations of MVE registers and the Helium instructions.

MVE registers

Helium disassembly

For more information on developing for Cortex-M55, see this article.

Customize for your needs

Custom Instructions are the latest innovation from Arm, giving designers the ability to create their own application-specific instructions to accelerate their algorithms as appropriate. These custom instructions can directly access the Arm registers, meaning no additional latency is incurred. The custom instructions are implemented, from a software point of view, as an overlap of the general coprocessor instruction space. Arm Compiler 6.14 adds a cdecpN feature option to the CPU or architecture option to define the instruction space used.

armclang -c --target=arm-arm-none-eabi -mcpu=cortex-m33+cdecp0
armclang -c --target=arm-arm-none-eabi -march=armv8-m.base+cdecp0+cdecp1

These options will generate appropriate error messages when the incorrect co-processor numbers are used.

../cde.S:20:6: error: coprocessor must be configured as GCP
 mrc p1, 4, r5, c3, c4, 0
     ^
../cde.S:21:6: error: coprocessor must be configured as CDE
 cx1a p2, r2, #0x1
     ^

These instructions can also be recognized the Development Studio debugger. By default, they will be disassembled as standard co-processor instructions.

 Default disassembly

And so, the debugger must be set up appropriately. This is done with the new set cde-coprocessors command within the debugger, which can be used from the command line or within any debug configuration script that you may run, including within the debug configuration itself.

set cde-coprocessors p0=cde, p1=cde

 Debug configuration pane

With this setting made, the instructions are displayed appropriately.

 Custom Instructions disassembly

Connect easily to virtual platforms

The interface between the debugger and virtual platforms is migrating from CADI to a new standard known as Iris. This release further improves the end user experience when connecting via Iris.

For example, the trace data generated from Iris is significantly (+10x) smaller than the equivalent trace data VIA CADI, meaning that you can readily generate a trace execution history for much longer from your virtual platform, to aid in debugging, and high-level profiling functionality. The following example shows the same code (the calendar example supplied with Development Studio) run on the same model, but with CADI and Iris interfaces used.

CADI trace (2.8MB)

CADI trace

Iris trace (136.9KB)

Iris trace

Note that Arm CPU models today include both CADI and Iris debug interfaces, however it is expected that these will be Iris only by end of 2020.

Improved support for third party debug probes

Arm provides a complete range of debug probes, providing high-performance debug and trace connectivity. Users may wish to use a different probe, perhaps from a different vendor or as part of an evaluation board. Development Studio provides a complete Debug Probe API, enabling developers to create support for their own probes. Using this API, support is available for ST-Link provided on most STM32 Discovery boards, and a debug connection via an FDTI USB channel to NVIDIA platforms.

Try Development Studio now

Development Studio 2020.0 is available to download now for all existing users with valid support and maintenance. An update to the separate Development Studio Platinum Edition will be available soon. New to Development Studio? A free evaluation is available to try out. For more information, or to request a demonstration of the tool, please feel free to contact us.

Try Development Studio free of charge

Anonymous
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