Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog How to start developing software for Arm Cortex-A55 and Cortex-A75 processors now
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • ARMv8.2-A
  • Arm Compiler 6
  • Cortex-A55
  • Cortex-A75
  • DynamIQ
  • DS-5 Ultimate Edition
  • Fast Models
  • Software Development Tools
  • Software Development
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

How to start developing software for Arm Cortex-A55 and Cortex-A75 processors now

Guilherme Marshall
Guilherme Marshall
May 29, 2017
3 minute read time.

These are exciting times for software developers. Arm has just announced the first generation of processors based on Arm DynamIQ technology. The new CPUs, Arm Cortex-A75 (big) and Cortex-A55 (LITTLE), are also Arm’s first to implement the Armv8.2-A architecture. For software folks this means new ground-breaking hardware capabilities enabling even more sophisticated applications and user experience wherever Arm-based SoCs get used. It also means, however, unique development requirements and challenges. Learn below how they impact software.

Get in touch if you have questions on tools for Cortex-A75/Cortex-A55

What’s so special about Cortex-A55 and Cortex-A75 processors for software engineers

Short answer is: a lot. Despite being fully code compatible with previous processors based on Armv8.0-A architecture, the new generation of processors introduces exciting key features and enhancements that software teams should fully explore.

Now the slightly longer answer: the differences start with Armv8.2-A architecture. Among other things, it adds hardware support for processing IEEE 754-2008 formatted half-precision floating point data. This architectural enhancement considerably speeds up several applications, such as machine learning and high dynamic range (HDR) image processing. There is also support for DynamIQ technology. The new flexible clusters supporting heterogeneous CPUs enable fine-grained tuning of task scheduling and per-core Dynamic Voltage and Frequency Scaling (DVFS) schemes. And that is all before we even start exploring the micro-architectures of Cortex-A55 and Cortex-A75. As a result, to be able to efficiently target the new processors, matching development platforms and tools are required.

Image 1: Arm CoreLink System Guidance for Mobile (SGM) 775

Learn more about the Cortex-A55 and Cortex-A75 processors.

How to start porting code when there is no supporting hardware available

Many Arm partners are actively working on systems that include at least one of the new processors. It will still take some time, however, before the first hardware development platforms become widely available. On the other hand, as we all know too well, in highly competitive industries, such as consumer electronics, entering the market just a few months too late can be commercial suicide. Therefore, to enable our ecosystem and partners to be market-ready early, Arm also provides complete solutions for pre-silicon software development well ahead of the first silicon implementations.

Virtual prototypes built with Arm Fast Models make efficient hardware-software co-design flows (image 2) a reality. By accurately modelling the complete system, the bulk of software porting, debug and even optimization can happen in parallel to the hardware design. Arm and many of our partners are now following this development model. Experience shows that companies implementing hardware-software co-design have cut total project duration, saving from many months to over one year when compared to a traditional (serial) development flow.

Jason Andrew's blog has step-by-step instructions on how to use of Fast Models and Cycle Models for development of Cortex-A75 nad Cortex-A55 processors.

Image 2 – Time to market advantage with hardware-software co-design

Targeted code generation

Full architecture support is essential for the compiled code to exploit the new instructions and run more efficiently. In additional to half-precision floating point data processing support discussed earlier, in Armv8.2-A enhancements have been made to the memory model and a new extension added to support RAS (Reliability, Availability and Serviceability). In addition to architecture support, microarchitecture-specific optimizations make the most of the CPU pipeline to accelerate the code further. The Arm Compiler 6 C/C++ embedded toolchain, used in-house and externally for architecture validation, provides industry-reference support for the new Cortex processors.

Bringing it all together: DS-5 Development Studio IDE

In addition to having full support for the new processors and Armv8.2-A architecture within compiler, debugger and performance analysis tools, Arm DS-5 Development Studio version 5.27.1 also adds three new fixed virtual platforms (FVP): Cortex-A55, Cortex-A75 and one DynamIQ big.LITTLE system with quad-core Cortex-A55 and dual-core Cortex-A75. It is a complete development cockpit for engineers to start writing next-generation software from day one.

For more technical details read "Using Arm Models for software development and performance analysis for the Cortex-A75 and Cortex-A55" by Jason Andrew . 

Anonymous
Tools, Software and IDEs blog
  • What is new in LLVM 16?

    Pablo Barrio
    Pablo Barrio
    Arm contributions from Arm to the new release include the usual architecture and CPU additions and new features such as, function multi-versioning and strict floating point support.
    • May 1, 2023
  • Product update: Arm Development Studio 2023.0 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2023.0 now available with support for Arm Neoverse V2 processor.
    • April 27, 2023
  • What is new in LLVM 15?

    Pablo Barrio
    Pablo Barrio
    LLVM 15.0.0 was released on September 6, followed by a series of minor bug-fixing releases. Arm contributed support for new Arm extensions and CPUs.
    • February 27, 2023