Best ARM Cortex-M7 Software Design for Embedded Systems Training
TOPICS
Training materials
This class uses training materials developed by ARM.
Content
Day 1
Introduction to ARM
ARM as a company • Processor portfolio • Supported architectures • Processor profiles
Cortex-M7 Overview
Block diagram • Architectural features • Instruction set • Programmer’s model • Memory map • Memory interfaces • Caches • Exception handing • Memory protection • Power management • Implementation options
ARMv7-M Programmers’ Model
Data types • Core registers • Modes, privileges and stack • Exceptions • Instruction set overview
Tools Overview for ARM Microcontrollers
Keil MDK • ULINK/DSTREAM debug adapters • Development boards • DS-5
CMSIS Overview
CMSIS-Core • CMSIS-DSP • CMSIS-RTOS • CMSIS-SVD • CMSIS-DAP
Day 2
ARMv7-M Assembly Programming
Data processing instructions • Load/Store instructions • Flow control • Miscellaneous instructions
ARMv7-M Memory Model
Memory address space • Memory types and attributes • Alignment and endianness • Barriers
Cortex-M7 Level 1 Sub-Systems
Caches • Tightly coupled memory (TCM) • System considerations
Day 3
ARMv7-M Exception Handling
Exception Model • Interrupts • Writing the vector table and interrupt handlers • Internal exceptions and RTOS support • Fault exception
ARMv7-M Compiler Hints & Tips
Basic Compilation • Compiler optimisations • Coding considerations • Mixing C/C++ and assembly • Local and global data issues
ARMv7-M Linker and Libraries Hints & Tips
Linking basics • System and user libraries • Veneers • Stack issues • Linker optimisations and diagnostics • ARM supplied libraries
Day 4
ARMv7-M Synchronization
Introduction to synchronization and semaphores • Exclusive accesses • Bit-banding
Embedded Software Development
Default compilation behavior • System startup • Tailoring the image memory map to a device • Post startup initialization • Tailoring the C library to a device • Building and debugging an image
ARMv7-M Debug
Coresight and debug access port DAP • Debug event and reset • Flash patch and breakpoint unit (FPB) • Data watch point and trace unit (DWT) • Instrumentation trace macrocell (ITM) • Embedded trace macrocell (ETM) • Trace port interface unit (TPIU) • Implementation details
ARMv7-M Memory Protection
Memory protection overview • Regions overview • Regions overlapping • Setting up the MPU
Exercises
Keil MDK Introductory Workbook • ARMv6-M and ARMv7-M Assembly Language Workbook • ARM Compiler and Linker Workbook • Embedded Software Development Workbook.