Full Day Hands-On ARM Embedded Training

Our manufacturer independent ARM training classes cover the ARM Embedded architectures (ARM7, ARM9, Cortex-M0/M3/M4) and give participants all the information they need to make an educated decision when selecting cores, chips, tools and libraries.

With ARM one has many choices: there are different cores like ARM7, ARM9 and Cortex-MX, many manufacturers for chips, compilers, debuggers and software libraries and source codes like Real-Time Operating Systems and communication stacks (for Ethernet, CAN, USB and others). Of course there are performance differences between all of those, however, it is generally underestimated how sever these differences can be.

Making all the "good" choices versus making all the "bad" choices may result in differences of up to a factor of 50 (fifty). Meaning that at the same core frequency the "good" version executes 50 times faster than the "bad" version.

Participate in this training class to learn what the major technical differences between selected architectures, chips, compilers and libraries are. Get the tools and skills to determine for yourself which combination of chips and software tools bring the best performance to your application.

In the hands-on part this class uses Keil's uVision, the GNU compiler system and the ARM RealView compiler system. Examples for various ARM microcontrollers from Atmel, NXP and ST Microelectronics will be generated and debugged / measured.

This hands-on class is limited to 12 participants.


Time Class Topic
8:30AM - 9:00AM Registration, welcome
9:00AM - 10:30AM General Introduction to the ARM architecture: supported instructions sets (ARM32, Thumb, Thumb-2), conditional execution benefits, code sizes, types & alignments,  pipeline, selected registers, interrupt handling.
10:30AM - 11:00AM Coffee break
11:00AM - 11:45AM ARM core comparison and selection criteria (ARM7, ARM9, Cortex-M3), specialities of Cortex-M3 (data alignment, bit-band, MPU, interrupt controller).
11:45AM - 12:30PM Manufacturer specific considerations: data busses and paths, AMBA, AHB, APB, Bus Matrix, Flash memory acceleration
Code efficiency: compilers and libraries
Summarized Results of Performance Comparisons, why at the same core clock rate one implementation can still be 50 times faster than the other.
12:30PM - 1:30PM Lunch break
1:30PM - 2:15PM Hands-On: Creating an example program "from scratch" for an ARM derivative from Atmel, NXP or ST Microelectronics and measuring program execution times with Keil's simulator.
2:15PM - 3:00PM Hands-On: Advanced peripheral simulation with Keil's simulator
3:00PM - 3:30PM Coffee break
3:30PM - 4:30PM Lesson & Hands-On: Introdution to Embedded Real-Time Operating System Programming on the ARM architecture.
4:30PM - 5:00PM Programming examples or exercises depending on audience: USB, Ethernet, CAN, CANopen, Bootloading.

Target Audience

Engineers and Managers that are in Embedded Systems Development and consider using ARM derivatives in their design.


General knowledge about embedded systems development is beneficial for this class.


All training material is in English language. Classes are conducted in English or German, depending on location and/or participants.


The training materials (handouts, example programs) will be delivered electronically. During the hands-on class each PC provided is shared by two students.


The pricing is location dependent. Drinks and lunch are included in the tuition fee. Multiple student or early sign-up (more than 4 weeks before the event) discounts are available upon request.

Cancellation Policy

Cancellations may be made 2 weeks prior to the event, otherwise tuition is non-refundable. A 15% rescheduling fee applies, if student needs to reschedule within 2 weeks prior to the event.