Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > ARM cores > ARM7/9 implementation
Télécharger le catalogue
Télécharger le catalogue
Télécharger la page
Télécharger la page
Ecrivez nous
Ecrivez nous
Version imprimable
Version imprimable
 

R1 ARM7/9 implementation

This course covers ARM7TDMI and ARM966/946/926 cores.


formateur
Objectives
bullet_jaune_1 This course takes an in depth look at the considerations you will need to take into account when designing a system containing either an ARM7TDMI family or ARM9TDMI family processor core.
bullet_jaune_1 Some information on the latest generation of ARM processor cores, such as the ARM9E-S family is also included.
bullet_jaune_1 It is aimed at:
bullet_jaune_2 Software engineers who not only want to obtain details of how to write software to run on the ARM, but also wish to obtain an understanding of hardware design issues
bullet_jaune_2 Hardware engineers who need to understand how to design ARM based systems, but also wish to obtain an understanding of the issues of writing software to run on that system.
For on-site courses, labs can be run under 3 possible environments : CodeWarrior/ADS/AXD, Eclipse/RVDS or GNU/Lauterbach simulator.
For open courses, labs are run under Eclipse/RVDS.

A more detailed course description is available on request at info@ac6-formation.com
Prerequisites
bullet_jaune_2 A basic understanding of microprocessors and microcontrollers.
bullet_jaune_2 A basic understanding of digital logic or hardware / ASIC design issues would be useful but not essential.
bullet_jaune_2 A basic understanding of assembler or C programming would be useful but not essential.
bullet_jaune_2 A basic awareness of the ARM is useful but not essential.

Plan
First day
The ARM architecture
bullet_jaune_2 ARM operation modes
bullet_jaune_2 The ARM registers set
bullet_jaune_2 Program Status Registers
bullet_jaune_2 Exception handling
bullet_jaune_2 Instruction sets
ARM processor core
bullet_jaune_2 ARM7TDMI core signals
bullet_jaune_2 The ARM7TDMI instruction pipeline
bullet_jaune_2 ARM7TDMI memory interface
bullet_jaune_2 ARM9TDMI datapaths
bullet_jaune_2 ARM9TDMI pipeline
Second day
ARM AND THUMB INSTRUCTION SETS
bullet_jaune_2 Conditional execution and flags
bullet_jaune_2 Branch instructions
bullet_jaune_2 Single register data transfer
bullet_jaune_2 Block data transfer
bullet_jaune_2 Stack management
bullet_jaune_2 Register access in Thumb
bullet_jaune_2 ARM architecture V5TE new instructions
ARM / THUMB INTERWORKING
bullet_jaune_2 Branch exchange example
bullet_jaune_2 Mixing ARM and Thumb subroutines
bullet_jaune_2 ARM to thumb veneer
bullet_jaune_2 Thumb-to-ARM veneer
bullet_jaune_2 Interworking calls
EXCEPTION HANDLING
bullet_jaune_2 Exception priority
bullet_jaune_2 Vector table instructions
bullet_jaune_2 Chaining exception handlers
bullet_jaune_2 Register usage in exception handlers
bullet_jaune_2 Example C interrupt handler
bullet_jaune_2 Software managed interrupt controller
bullet_jaune_2 Issues when reenabling interrupts
bullet_jaune_2 Invoking SWIs
bullet_jaune_2 Data abort with memory management
Third day
COMPILER HINTS AND TIPS
bullet_jaune_2 Automatic optimization
bullet_jaune_2 Instruction scheduling
bullet_jaune_2 Tail-call optimization
bullet_jaune_2 Loop termination
bullet_jaune_2 Inline assembler
bullet_jaune_2 Stack usage
bullet_jaune_2 Global data layout
INITIALIZING CACHED PROCESSORS
bullet_jaune_2 Cache basics
bullet_jaune_2 Cache flushing
bullet_jaune_2 Write buffer
bullet_jaune_2 Memory management
bullet_jaune_2 TLB and translation tables
bullet_jaune_2 Memory protection, MPU configuration steps
bullet_jaune_2 System control coprocessor
bullet_jaune_2 Tightly coupled memory
EMBEDDED SOFWARE DEVELOPMENT
bullet_jaune_2 ROM/RAM remapping
bullet_jaune_2 Exception vector table
bullet_jaune_2 Reset handler
bullet_jaune_2 C library initialization
bullet_jaune_2 Scatterloading
bullet_jaune_2 Linker placement rules
bullet_jaune_2 Long branch veneers
bullet_jaune_2 C library functionality
bullet_jaune_2 Placing the stack and heap
Fourth day
AMBA BUS ARCHITECTURE
bullet_jaune_2 AHB Protocol
bullet_jaune_2 AHB Connection Architectures
bullet_jaune_2 AHB Workbook
ARM DEBUG SOLUTIONS
bullet_jaune_2 Debugging with multiICE
bullet_jaune_2 Watchpoints, hardware breakpoints, software breakpoints
bullet_jaune_2 Semihosting
bullet_jaune_2 EmbeddedICE-RTT logic
bullet_jaune_2 Instruction trace, data trace
bullet_jaune_2 Trace capture