You copied the Doc URL to your clipboard.



See ARM Developer Suite.


See ARM Debugger for UNIX.


See ARM Debugger for Windows.


See ARM Flash Utility.


See ARM Firmware Suite.


Angel is a program that enables you to develop and debug applications running on ARM-based hardware. Angel can debug applications running in either ARM state or Thumb state.


American National Standards Institute.


See Application Programming Interface.

Application Programming Interface

The syntax of the functions and procedures within a module or library.

ARM Boot Flash Utility

The ARM Boot Flash Utility (BootFU) allows modification of the specific boot flash sector on the system.

ARM Debugger for UNIX

The ARM Debugger for UNIX (ADU) and ARM Debugger for Windows (ADW) are two versions of the same ARM debugger software, running under UNIX or Windows respectively.

ARM Debugger for Windows

See ARM Debugger for Unix.

ARM Developer Suite

A suite of applications, together with supporting documentation and examples, that enable you to write and debug applications for the ARM family of RISC processors.

ARM eXtendable Debugger

The ARM eXtendable Debugger (AXD) is the latest debugger software from ARM that enables you to make use of a debug agent in order to examine and control the execution of software running on a debug target. AXD is supplied in both Windows and UNIX versions.

ARM Firmware Suite

A collection of utilities to assist in developing applications and operating systems on ARM-based systems.

ARM Flash Utility

The ARM Flash Utility (AFU) is an application for manipulating and storing data within a system that uses the flash library.


The ARM Symbolic Debugger (armsd) is an interactive source-level debugger providing high-level debugging support for languages such as C, and low-level support for assembly language. It is a command-line debugger that runs on all supported platforms.


ARMulator is an instruction set simulator. It is a collection of modules that simulate the instruction sets and architecture of various ARM processors.


The ARM and Thumb Procedure Call Standard (ATPCS) defines how registers and the stack are used for subroutine calls.


See ARM eXtendable Debugger.


Memory organization where the least significant byte of a word is at a higher address than the most significant byte. See also Little-Endian.


See ARM Boot Flash Utility.

Boot monitor

A ROM-based monitor that communicates with a host computer using simple commands over a serial port. Typically this application is used to display the contents of memory and provide system debug and self-test functions.

Boot switcher

The boot switcher selects and runs an image in application flash. You can store one or more code images in flash memory and use the boot switcher to start the image at reset.

Canonical Frame Address

In DWARF 2, this is an address on the stack specifying where the call frame of an interrupted function is located.


See Canonical Frame Address.

CodeWarrior IDE

The development environment for the ARM Developer Suite.


An additional processor which is used for certain operations. Usually used for floating-point math calculations, signal processing, or memory management.


An application that monitors and controls the execution of a second application. Usually used to find errors in the application program flow.

Double word

A 64-bit unit of information. Contents are taken as being an unsigned integer unless otherwise stated.


Debug With Arbitrary Record Format (DWARF) is a format for debug tables.


A variant of C++ designed to be used for embedded applications.


Executable and Linking Format


The actual hardware and operating system that an application will run on.

Execution view

The address of regions and sections after the image has been loaded into memory and started execution.

Flash memory

Nonvolatile memory that is often used to hold application code.


See Hardware Abstraction Layer.


A 16-bit unit of information. Contents are taken as being an unsigned integer unless otherwise stated.

Hardware Abstraction Layer

Code designed to conceal hardware differences between different processor systems.


A computer which provides data and other services to another computer.


In Circuit Emulator.


Integrated Development Environment, for example the CodeWarrior IDE in ADS.


An executable file which has been loaded onto a processor for execution.


Functions that are repeated in code each time they are used rather than having a common subroutine. Assembler code placed within a C or C++ program.

See Also Output sections.

Input section

Contains code or initialized data or describes a fragment of memory that must be set to zero before the application starts.

See Also Output sections.


Producing an application that uses both ARM and Thumb code.


A collection of assembler or compiler output objects grouped together into a single repository.


Software which produces a single image from one or more source assembler or compiler output objects.


Memory organization where the least significant byte of a word is at a lower address than the most significant byte. See also Big-endian.

Load view

The address of regions and sections when the image has been loaded into memory but has not yet started execution.


An object that is only accessible to the subroutine that created it.

Memory management unit

Hardware that controls caches and access permissions to blocks of memory, and translates virtual to physical addresses.

Memory protection unit

Hardware that controls permissions to blocks of memory. Unlike an MMU, a MPU does not translate virtual addresses to physical addresses.


See Memory Management Unit.


See Memory Protection Unit.


Multi-processor JTAG emulator. ARM registered trademark.

Output section

Is a contiguous sequence of input sections that have the same Read Only, Read Write, or Zero Initialized attributes. The sections are grouped together in larger fragments called regions. The regions will be grouped together into the final executable image.

See Also Region.


See Peripheral Component Interconnect.


Procedure Call Standard.

See Also ATPCS.

Peripheral Component Interconnect

An expansion bus used with PCs and workstations.


Position Independent Code.

See Also ROPI.


Position Independent Data.

See Also RWPI.


Accumulation of statistics during execution of a program being debugged, to measure performance or to determine critical areas of code.

Call-graph profiling provides great detail but slows execution significantly. Flat profiling provides simpler statistics with less impact on execution speed.

For both types of profiling you can specify the time interval between statistics-collecting operations.

Program image

See Image.


The ability of a subroutine to have more that one instance of the code active. Each instance of the subroutine call has its own copy of any required static data.


In an Image, a region is a contiguous sequence of one to three output sections (Read Only, Read Write, and Zero Initialized).


Changing the address of physical memory or devices after the application has started executing. This is typically done to allow RAM to replace ROM once the initialization has been done.


The process of moving code designed for one execution environment to a new execution environment.


Read Only Position Independent. Code and read-only data addresses can be changed at run-time.


Real Time Operating System.


Read Write Position Independent. Read/write data addresses can be changed at run-time.

Scatter loading

Assigning the address and grouping of code and data sections individually rather than using single large blocks.


The accessibility of a function or variable at a particular point in the application code. Symbols which have global scope are always accessible. Symbols with local or private scope are only accessible to code in the same subroutine or object.


A block of software code or data for an Image.

See Also Input sections.


A mechanism whereby the target communicates I/O requests made in the application code to the host system, rather than attempting to support the I/O itself.


See System Information Block.


Software Interrupt. An instruction that causes the processor to call a programer-specified subroutine. Used by ARM to handle semihosting.

System Information Block

A block of user-defined nonvolatile storage.


The actual target processor, real or simulated, on which the application is running.


A context of execution on a processor. A thread is always related to a processor and may or may not be associated with an image.

Vector Floating Point

VFP instructions use a single instruction to perform an arithmetical operation on more than one floating point value.


See Vector Floating Point.


A small block of code used with subroutine calls when there is a requirement to change processor state or branch to an address that cannot be reached from the current processor state.


A location within the image which will be monitored and which will cause execution to break when it changes.


A 32-bit unit of information. Contents are taken as being an unsigned integer unless otherwise stated.

Was this page helpful? Yes No