ARM11 Software Design
Standard Level - 4 daysview dates and locations
ARM11 Software Design is a 4-day comprehensive class that introduces the current ARM architectures and the ARM development systems.
In the second part of the class, the emphasis is on the development and debugging of ARM software code for ARM11 based systems.
The course familiarises the delegates with the ARM architecture, as well as the corresponding command sets ARM and Thumb. Examples will be used to explain how to write exception handlers (e.g. interrupt handlers) and ROM code.
The workshops are based around carefully designed exercises to reinforce and challenge the extent of learning, and comprise approximately 30% of class time.
Who should attend?Software developers who wish to develop system and application software for ARM based systems.
What will you learn?
- Introduction to the ARM processor architecture and pipelining
- ARM11 based processor cores
- ARM, Thumb and DSP instruction sets
- ARM/Thumb interworking
- Embedded software development using RVDS
- Exception handling
- Performance analysis
- Compiler hints and tips
- Introduction to TrustZone
- V6/V7 Memory management
- V6/V7 Caches and TCM
- Embedded core debug
- Introduction to CoreSight
- Exercises to help re-enforce ideas presented in the formal lectures
Pre-requisitesAn 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.
Training materialsThis class uses training materials developed by ARM®.
Structure and Content
The ARM ArchitectureOverview of ARM, registers, modes, exception handling, instruction sets, supporting technologies
ARM Processor CoreARM7TDMI and ARM9TDMI pipelines, datapaths and instruction decoding. Overview of ARM9E-S, ARM10, ARM11, StrongARM and XScale.
Real View Developer Suite (RVDS) OverviewCompilers, Assembler, Linker, Debuggers
Real View Introductory WorkbookPractical work using RVDS
ARM and Thumb Instruction SetsOverview of the ARM and Thumb Instruction Sets. Includes practical work.
ARM / Thumb InterworkingMixing ARM and Thumb code in the same application
V6/V7 Caches and TCMInitializing caches, cache lockdown, cache maintenance, TCM configuration
V6/V7 Memory managementInitializing MMU and MPU, level1 and level2 page tables, memory types, memory barriers
Embedded Software DevelopmentRunning code from ROM, reset handlers, locating code and data in memory (scatterloading), library retargeting.
ARM Debug SolutionsOn-chip debug logic, breakpoints and watchpoints, debug communication channel, tools issues, system design considerations. EmbeddedICE-RT and RealMonitor. How to design-in and use ARM's Embedded Trace Module.
Performance AnalysisCode/data size calculations. Benchmarking facilities provided in ARMulator.
Performance Analysis WorkbookPractical work on benchmarking
Compiler Hints and TipsCompiler optimization options. Writing efficient code. Minimizing data memory
Price on request
Back to top