This course is designed for hardware engineers and software engineers developing software for platforms based around the ARM Cortex-M3 and Cortex-M4 cores. Including an introduction to the ARM product range and supporting IP, the course covers the ARM core range, programmer's model and instruction set architecture as well as the Cortex-M3/M4 debug architecture is also covered. The course includes a number of worked examples and hands-on practical exercises to reinforce the lecture material.
Prerequisites:
Some knowledge of embedded systems
A basic awareness of ARM is useful but not essential
Knowledge of programming in C
Experience of assembler programming is not required but would be beneficial
Audience:
Software engineers writing application and system software for platforms using the ARM Cortex-M3 processor core.
Modules:
Introduction to ARM
Cortex-M3/M4 Core
Tools Overview for ARM Microcontrollers
Keil MDK-ARM Introductory Workbook
v7-M Programmer’s Model
v7-M Assembly Programming
v7-M Memory Model
v7-M Exception Handling
Software Engineer’s Guide to Cortex-M3/M4
v7-M Compiler Hints and Tips
ARM Compiler Workbook (Exercises 1-3)
v7-M Linker and Libraries Hints and Tips
ARM Compiler Workbook (Exercises 4-5)
Migrating Legacy ARM/Thumb code to Cortex-M3
Embedded Software Development for Cortex-M Processors