ARM Embedded Software Optimization

ARM Training Course

Details on this training course are provided below. Please contact Support for information about booking any of ARM's training courses.


The embedded software optimization course focuses on the Cortex-A family of 32-bit application processors from ARM. The first 2 days are split between practicals (which make up for at least 50% of the time) and technical presentations. The final day focuses on vectorizing code using the Advance SIMD (NEON) instruction set. The practicals are based on an ARM Linux environment using GCC, the latest debug tools (DS-5) and models (Fast Models) from ARM. Although the practical focuses on a Linux application environment, the theory covers all the topics required to apply the principles to bare-metal applications.


  • Knowledge and experience of coding in C and Assembler
  • Familiarity with the ARM Architecture (Instruction Set, MMU, Caches)
  • Experience with GCC and ARM development tools is not required
    (but would be beneficial)


Software engineers involved in any development where performance is likely to be a critical issue and who need to learn techniques which will help them get the best out of the tools and platforms available.


2 days (+ ½ for NEON)


  • Benchmarking techniques
  • Processor setup
  • Compiler basics (GCC)
  • Streamline (DS-5 profiler)
  • Compiler optimization
  • Architecture Optimizations
  • System level optimizations
  • Threading (Ptheads basics)
  • NEON Introduction
  • NEON Vectorization

Download PDF Version

[ Go back to Training Course list ]


We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set