What is an ARM Accredited Engineer?

An ARM Accredited Engineer is an individual Accredited by ARM to meet or exceed a basic level of knowledge of ARMv7 Cortex-A and Cortex-R technology. This accreditation encompasses a comprehensive range of subjects and is positioned at a consistent level of difficulty.  To provide a clearer picture of what this actually means, let’s explore how we decided what an ARM Accredited Engineer should be capable of doing.

Step 1: identify a role

The first thing we did was characterize the job role that we thought an ARM Accredited Engineer would typically perform. We asked ourselves, "What does industry need from an ARM Accredited Engineer?” To answer this question we researched job adverts, and talked to HR representatives, hiring managers, technical trainers, engineers and support staff.

Step 2: create a job description for that role

Once we had characterized the role in a way that would appeal to the widest cross-section of embedded systems and software engineers, we pinpointed over 50 distinct ARM-related tasks that the jobholder should be capable of completing.

Examples of the tasks we identified include:

  • Applications Development – develop software for Symmetric Multi-Processor (SMP) multi-core systems
  • Firmware Development – initialize a (Memory Management Unit)  MMU
  • Firmware Development – develop device drivers/Board Support Packages (BSPs)
  • Firmware Development – develop interrupt handlers
  • Generic Development – cross compile code
  • Software Debug – debug cache coherency issues
  • Software Optimization – write performance efficient code
  • Software Optimization – write software for cached systems

Step 3: identify the knowledge each of these tasks requires

From this list of tasks we identified, for each distinct task, the ARM-specific knowledge that would be required to perform the task competently. The resulting list of knowledge items was then classified into subject categories. This led directly to the development of the AAE syllabus.