RM7/9 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 ARM7 and ARM9 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. RVDS and MDK toolsets are supported.
What will you learn?
* Introduction to the ARM processor architecture and pipelining
* ARM7TDMI / ARM9TDMI processor core
* ARM, Thumb and DSP instruction sets
* ARM/Thumb interworking
* Embedded software development using RVDS or MDK
* Exception handling
* Performance analysis
* Compiler hints and tips
* Embedded core debug
* Exercises to help re-enforce ideas presented in the formal lectures
Training materials
This class uses training materials developed by ARM®. In addition, Doulos has developed dedicated workbooks for delegates who wish to use MDK, rather than RVDS, in the workshops.
The ARM Architecture
Overview of ARM, registers, modes, exception handling, instruction sets, supporting technologies
ARM Processor Core
ARM7TDMI and ARM9TDMI pipelines, datapaths and instruction decoding. Overview of ARM9E-S, ARM10, ARM 11, StrongARM and XScale.
Real View Developer Suite (RVDS) Overview
Compilers, Assembler, Linker, Debuggers
Real View Introductory Workbook
Practical work using RVDS
ARM and Thumb Instruction Sets
Overview of the ARM and Thumb Instruction Sets. Includes practical work.
ARM / Thumb Interworking
Mixing ARM and Thumb code in the same application
Initializing Cached Processors
Covers all major level1 memories. TCM , MMU, MPU as well configuring Cache
Embedded Software Development
Running code from ROM, reset handlers, locating code and data in memory (scatterloading), library retargeting.
ARM Debug Solutions
On-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 Analysis
Code/data size calculations. Benchmarking facilities provided in ARMulator.
Performance Analysis Workbook
Practical work on benchmarking
Compiler Hints and Tips
Compiler optimization options. Writing efficient code. Minimizing data memory