RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Contents<br />
Chapter 4<br />
Chapter 5<br />
Chapter 6<br />
Chapter 7<br />
Chapter 8<br />
Appendix A<br />
Interworking <strong>ARM</strong> and Thumb<br />
4.1 About interworking ...................................................................................... 4-2<br />
4.2 Assembly language interworking ................................................................ 4-7<br />
4.3 C and C++ interworking and veneers ....................................................... 4-13<br />
4.4 Assembly language interworking using veneers ...................................... 4-18<br />
Mixing C, C++, and Assembly Language<br />
5.1 Using the inline and embedded assemblers ............................................... 5-2<br />
5.2 Accessing C global variables from assembly code .................................... 5-4<br />
5.3 Using C header files from C++ ................................................................... 5-5<br />
5.4 Calling between C, C++, and <strong>ARM</strong> assembly language ............................. 5-7<br />
Handling Processor Exceptions<br />
6.1 About processor exceptions ....................................................................... 6-2<br />
6.2 Determining the processor state ................................................................. 6-6<br />
6.3 Entering and leaving an exception ............................................................. 6-8<br />
6.4 Handling an exception .............................................................................. 6-13<br />
6.5 Installing an exception handler ................................................................. 6-14<br />
6.6 SVC handlers ........................................................................................... 6-19<br />
6.7 Interrupt handlers ..................................................................................... 6-28<br />
6.8 Reset handlers ......................................................................................... 6-38<br />
6.9 Undefined Instruction handlers ................................................................. 6-39<br />
6.10 Prefetch Abort handler .............................................................................. 6-40<br />
6.11 Data Abort handler ................................................................................... 6-41<br />
6.12 System mode ............................................................................................ 6-42<br />
Handling Cortex-M3 Processor Exceptions<br />
7.1 About Cortex-M3 processor exceptions ..................................................... 7-2<br />
7.2 Writing the exception table ....................................................................... 7-10<br />
7.3 Writing the exception handlers ................................................................. 7-12<br />
7.4 Placing the exception table ....................................................................... 7-13<br />
7.5 Configuring the System Control Space registers ...................................... 7-14<br />
7.6 Configuring individual IRQs ...................................................................... 7-16<br />
7.7 Supervisor calls ........................................................................................ 7-17<br />
7.8 System timer ............................................................................................. 7-19<br />
7.9 Porting exception handling code written for other <strong>ARM</strong> processors ......... 7-21<br />
Debug Communications Channel<br />
8.1 About the Debug Communications Channel .............................................. 8-2<br />
8.2 Target transfer of data ................................................................................ 8-3<br />
8.3 Polled debug communications .................................................................... 8-4<br />
8.4 Interrupt-driven debug communications ..................................................... 8-8<br />
8.5 Access from Thumb state ........................................................................... 8-9<br />
Semihosting<br />
A.1 About semihosting ...................................................................................... A-2<br />
vi Copyright © 2002-2007 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203H<br />
Non-Confidential