1.1.1. Components of the SDT

The ARM Software Development Toolkit consists of the following major components:

These are described in more detail below.

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 or PCC 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 or PCC 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.

Windows development tools

The following windows development tools are provided:


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


The ARM Project Manager. This is a graphical user interface tool that automates the routine operations of managing source files and building your software development projects. APM helps you to construct the environment, and specify the procedures needed to build your software.


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 AIF, plain binary, Extended Intellec Hex (IHF) format, Motorola 32-bit S record format, and Intel Hex 32 format.


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


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


The ARM Object Format decoder decodes AOF files such as those produced by armasm and armcc.


The ARM Executable Format decoder decodes executable files such as those produced by armlink.


The ANSI to PCC C Translator helps to translate C programs and headers from ANSI C into PCC C, primarily by rewriting top-level function prototypes.

topcc is available for UNIX platforms only, not for Windows.

Supporting software

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


The ARM core emulator. This provides instruction accurate emulation 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.


The ARM debug monitor. Angel runs on target development hardware and enables you to develop and debug applications running on ARM-based hardware. Angel can debug applications running in either ARM state or Thumb state.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D