User guide

Preface
This preface introduces the ARM Developer Suite (ADS) Developer Guide. It contains the following sections:
About this book
Feedback.
About this book
This book provides tutorial information on writing code targeted at the ARM family of processors.
Intended audience
This book is written for all developers writing code for the ARM. It assumes that you are an experienced software
developer, and that you are familiar with the ARM development tools as described in ADS Getting Started Guide.
Using this book
This book is organized into the following chapters:
Chapter 1 Introduction
Read this chapter for an introduction to the ARM Developer Suite (ADS).
Chapter 2 Using the Procedure Call Standard
Read this chapter for details of how to use the ARM/Thumb® Procedure Call Standard. Using this
standard makes it easier to ensure that separately compiled and assembled modules work
together.
Chapter 3 Interworking ARM and Thumb
Read this chapter for details of how to change between ARM state and Thumb state when writing
code for processors that implement the Thumb instruction set.
Chapter 4 Mixing C, C++, and Assembly Language
Read this chapter for details of how to write mixed C, C++, and ARM assembly language code. It
also describes how to use the ARM inline assemblers from C and C++.
Chapter 5 Handling Processor Exceptions
Read this chapter for details of how to handle the various types of exception supported by ARM
processors.
Chapter 6 Writing Code for ROM
Read this chapter for details on building ROM images. These can be used in, for example,
embedded applications. There are also hints on how to avoid the most common errors in writing
code for ROM.
Chapter 7 Caches and Tightly Coupled Memories
Read this chapter for a description of caches and tightly coupled memory on ARM systems.
Chapter 8 Debug Communications Channel
Read this chapter for a description of how to use the Debug Communications Channel (DCC).
The following typographical conventions are used in this book:
monospace
Denotes text that can be entered at the keyboard, such as commands, file and program names,
and source code.
mono
space
Denotes a permitted abbreviation for a command or option. The underlined text can be entered
instead of the full command or option name.
monospace italic
Denotes arguments to commands and functions where the argument is to be replaced by a
specific value.
monospace bold
Denotes language keywords when used outside example code.
italic
Highlights important notes, introduces special terminology, denotes internal cross-references,
and citations.
bold
Highlights interface elements, such as menu names. Also used for emphasis in descriptive lists,
where appropriate, and for ARM processor signal names.
Further reading
This section lists publications from both ARM Limited and third parties that provide additional information on
Preface
Copyright ?1999 2001 ARM Limited 1