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.