What is an ARM Accredited MCU Engineer?

An ARM Accredited MCU Engineer is an individual accredited by ARM Ltd. to meet or exceed a standard level of knowledge of ARMv6-M and ARMv7-M Cortex-M technology across a comprehensive range of subject domains and at a consistent level of difficulty.

A typical ARM Accredited MCU Engineer might be found working on embedded software developments using ARM Cortex®-M microcontrollers in small or large teams of engineers. With the growth of the Internet of Things, Cortex-M microcontrollers are being used across an increasingly wide range of different application areas, including; sensors, medical devices, automotive, consumer electronics, toys, industrial control, heating and ventilation, home automation and transport.

A competent ARM microcontroller engineer will require a range of ARM knowledge across a balanced set of subject domains and to a good degree of detail. In order to provide a clear picture of what this means, we can explore how we decided what an ARM Accredited MCU Engineer should be capable of doing.

Step 1: identify a role

The first thing we did was identify the job role that we thought a typical ARM Accredited MCU Engineer would perform. We asked ourselves, "What does industry need from an ARM Accredited MCU 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 for an ARM Accredited MCU Engineer include:

  • Application Software – write power aware applications
  • Firmware Development – write initialization code
  • Firmware Development – develop device drivers/Board Support Packages (BSPs)
  • Firmware Development – write interrupt handlers
  • Generic Development – configure memory map
  • Generic Development – insert architecturally compliant barriers
  • Software Optimization – perform timing and resource analysis
  • Software Optimization – optimize code for performance

Step 3: identify the knowledge each task 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 AAME syllabus.



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