Arm Cortex-R4 Software Design
Standard Level - 4 daysview dates and locations
Arm Cortex-R4 Software Design is a 4-day comprehensive class that introduces the Arm® Cortex®-R4 architecture and the Arm development systems.
Who should attend?
Software engineers designing applications for platforms based around the Arm Cortex-R4 processor Core.
Delegates should have a basic understanding of microprocessor systems and be familiar with assembler or C programming. A basic awareness of Arm and experience of embedded system development is helpful, but not essential.
Introduction to the Arm ArchitectureArchitecture versions • Registers and instruction sets • Exception model • Memory model • Coprocessors • Architecture extensions
Arm Tools OverviewArm DS-5 • Tool Licensing • GNU and ABI • Debug Interfaces
Assembler Programming for Arm ProcessorsLoad/Store Instructions • Data Processing Instructions • Flow Control • Miscellaneous • DSP
Exception HandlingExceptions overview • Interrupts sources and priorities • Abort Handlers • SVC Handlers • Undef Handlers • Reset Handlers
Arm Caches and TCMsCache basics • Caches on Arm processors • Tightly Coupled Memory (TCM) • Optimization consideration
Using the MPUMemory Management Introduction • Access Permissions and Types • Memory Protection Unit (MPU) • Optimizations & Issues
SynchronizationAtomicity • LDREX/STREX Uses • Mutex Implementation
BarriersData barriers • Instruction barriers
Software Engineers' Guide to the Cortex-R4Introduction • L1 memory system
Power Management for Cortex-A/R CoresProcessor Power Consumption • Power Modes • NEON and MPCore
C/C++ Compiler Hints & TipsBasic Compilation • Compiler Optimizations • Coding Considerations • Local and Global Data issues
Linker & Libraries Hints & TipsLinking Basics • System and User Libraries • Veneers and Interworking • Linker Optimizations and Diagnostics • Arm Supplied Libraries
Further Compiler/Linker Hints & TipsMixing C/C++ and Assembler • Stack Issues • VFP/NEON • Advanced Building Facilities
Embedded Software DevelopmentAn "Out-of-the-box" build • 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
Debug and ProfilingInvasive Debug • Non-Invasive Debug • PMU • Trace
GIC ProgrammingDistributor and CPU Interfaces • How to enable and configure interrupts • How to handle interrupts • How to send software interrupts • Security Extensions
Looking for team-based training, or other locations?
Complete an on-line form and a Doulos representative will get back to you »Back to top