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

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.

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

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