1.1.1. Components of ADS

ADS consists of the following major components:

Command-line development tools

The following command-line development tools are provided:


The ARM C compiler. The compiler is tested against the Plum Hall C Validation Suite for ANSI conformance. It compiles ANSI source into 32-bit ARM code.


This is the ARM C++ compiler. It compiles ISO C++ or EC++ source into 32-bit ARM code.


The Thumb C compiler. The compiler is tested against the Plum Hall C Validation Suite for ANSI conformance. It compiles ANSI source into 16-bit Thumb code.


This is the Thumb C++ compiler. It compiles ISO C++ or EC++ source into 16-bit Thumb code.


The ARM and Thumb assembler. This assembles both ARM assembly language and Thumb assembly language source.


The ARM linker. This combines the contents of one or more object files with selected parts of one or more object libraries to produce an executable program. The ARM linker creates ELF executable images.


The ARM and Thumb symbolic debugger. This enables source level debugging of programs. You can single-step through C or assembly language source, set breakpoints and watchpoints, and examine program variables or memory.

Rogue Wave C++ library

The Rogue Wave library provides an implementation of the standard C++ library as defined in the ISO/IEC 14822:1998 International Standard for C++. For more information on the Rogue Wave library, see the online HTML documentation on the CD ROM.

support libraries

The ARM C libraries provide additional components to enable support for C++ and to compile code for different architectures and processors.

GUI development tools

The following Graphical User Interface (GUI) development tools are provided:


The ARM Debugger for Windows and UNIX. This provides a full Windows and UNIX environment for debugging your C, C++, and assembly language source.

CodeWarrior IDE

The project management tool for Windows. This automates the routine operations of managing source files and building your software development projects. The CodeWarrior IDE is not available for UNIX.


The following utility tools are provided to support the main development tools:


The ARM image conversion utility. This accepts ELF format input files and converts them to a variety of output formats, including plain binary, Motorola 32-bit S-record format, Intel Hex 32 format, and Verilog-like hex format. fromELF can also generate text information about the input image, such as code and data size.


The ARM profiler displays an execution profile of a simple program from a profile data file generated by an ARM debugger.


The ARM librarian enables sets of ELF format object files to be collected together and maintained in libraries. You can pass such a library to the linker in place of several ELF files.

Flash downloader

Utility for downloading binary images to Flash memory on an ARM Integrator™ board or an ARM Development board (PID7T).

Supporting software

The following support software is provided to enable you to debug your programs, either under simulation, or on ARM-based hardware:


The ARM core simulator. This provides instruction-accurate simulation of ARM processors, and enables ARM and Thumb executable programs to be run on non-native hardware. The ARMulator is integrated with the ARM debuggers.

Supported standards

The industry standards supported by ADS include:


UNIX-style archive files are supported by armar.


DWARF2 debug tables are supported by the compilers, linker, and debuggers. The deprecated format DWARF1 is supported in the debuggers only.


The ARM and Thumb compilers accept ANSI C as input. The option -strict can be used to enforce strict ANSI compliance.


The ARM and Thumb C++ compilers support a subset of the ISO C++ language.


The ARM and Thumb C++ compilers support the Embedded C++ (EC++) informal standard that is a subset of C++.


The ARM tools produce ELF format files. The FromELF utility can translate ELF files into other formats.


All debug agents and targets within ADS support version 1.5.1 of the Remote Debug Interface (RDI). The debuggers support all the debug agents (for example ARMulator and Remote_A) that are released as part of ADS. They also support Multi-ICE®.

Copyright © 1999-2001 ARM Limited. All rights reserved.ARM DUI 0064D