14.01.2015 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!