This course is designed for engineers developing software for platforms based around the Arm® Cortex®-M3 and Cortex-M4 processors, including an introduction to the Cortex Microcontroller Software Interface Standard (CMSIS) library. The course covers the Arm core range, programmer's model and Thumb-2 instruction set as well as the Cortex-M3/M4 Coresight debug architecture. It includes a number of worked examples and hands-on CMSIS compliant exercises to reinforce the lecture material.
Software developers who wish to develop system and application software for Arm Cortex-M3 and Cortex-M4 processor based systems.
An in-depth knowledge of microprocessors is not essential, but would be advantageous. However, all participants must be computer literate and should have a basic understanding of the programming language C.
The training materials for this class are based on Arm®'s own material. Doulos is a global Arm Approved Training Center.
Block Diagram • Programmer’s Model • Datapath and Pipeline • Memory Map • Bit-Banding • System Timer (SysTick) • State, Privilege, and Stacks • Alignment and Endianness • System Control Block
Toolchain • Models • Debug & Trace • Development Boards
Data types • Core registers • Modes • Exceptions • Instruction Set Overview
General Points on Syntax • Data processing Instructions • Branch and Control Flow Instructions • Memory Access Instructions • Exception Generating Instructions • Accessing Special Registers • Coprocessor Instructions • Memory Barriers and Synchronization
System Caches • Write Buffers • TCMs • Memory Types • Endianness • Address Map
Exception Model • Interrupts • Interrupt Handling • Prioritization and Control • Writing the Vector Table and Interrupt Handlers • Internal Interrupts and RTOS Support • Fault Exceptions
Implementation Options • Modes and Stacks • Special Purpose Registers • System Memory Interface • Memory Map • Systick Timer • Floating Point Unit • Power Management
Basic Compilation • Compiler Optimizations • Coding Considerations • Mixing C/C++ and Assembler • Local and Global Data issues
Linking Basics • System and User Libraries • Veneers • Stack Issues • Linker Optimizations and Diagnostics • Arm Supplied Libraries • Scatter-loading
Tailoring the C library to your target • Tailoring image memory map to your target • Reset and Initialization • Further memory map considerations • Building and debugging your image
CMSIS-CORE • CMSIS-DSP • CMSIS-RTOS • CMSIS-SVD • CMSIS-DAP
Introduction to Debug • Debug Access Port (DAP) • Breakpoints/Watchpoints & Vector Catch • Cortex-M3/M4 Debug • System Control
Arm, Cortex-M3, and Cortex-M4 are registered trade marks of Arm Holdings Plc.
Keil MDK Introductory Workbook • Arm Compiler Workbook • Embedded Software Development Workbook
Complete an enquiry form and a Doulos representative will get back to you.
Enquiry FormPrice on request