ARM Assembly Language Tools v16.9.0.LTS User's Guide
SPNU118P - REVISED OCTOBER 2016

Read This First

About This Manual

The ARM Assembly Language Tools User's Guide explains how to use the following Texas Instruments Code Generation object file tools:

  • Assembler
  • Archiver
  • Linker
  • Library information archiver
  • Absolute lister
  • Cross-reference lister
  • Disassembler
  • Object file display utility
  • Name utility
  • Strip utility
  • Hex conversion utility

How to Use This Manual

This book helps you learn how to use the Texas Instruments object file and assembly language tools designed specifically for the ARM®32-bit devices. This book consists of four parts:

  • Introductory information, consisting of Section 1 through Section 3, gives you an overview of the object file and assembly language development tools. Section 2, in particular, explains object modules and how they can be managed to help your ARM application load and run. It is highly recommended that developers become familiar with what object modules are and how they are used before using the assembler and linker.
  • Assembler description, consisting of Section 4 through Section 6, contains detailed information about using the assembler. Section 4 and Section 5 explain how to invoke the assembler and discuss source statement format, valid constants and expressions, assembler output, and assembler directives. Section 6 focuses on the macro language.
  • Linker and other object file tools description, consisting of Section 7 through Section 12, describes in detail each of the tools provided with the assembler to help you create executable object files. Section 7 provides details about using the archiver to create object libraries. Section 8 explains how to invoke the linker, how the linker operates, and how to use linker directives. Section 11 provides a brief overview of some of the object file utilities that can be useful in examining the content of object files as well as removing symbol and debug information to reduce the size of a given object file. Section 12 explains how to use the hex conversion utility.
  • Additional Reference material, consisting of Section A through Section A, provides supplementary information including symbolic debugging directives used by the ARM C/C++ compiler. It also provides hex utility examples. A description of the XML link information file and a glossary are also provided.

Notational Conventions

This document uses the following conventions:

  • Program listings, program examples, and interactive displays are shown in a special typeface. Interactive displays use a bold version of the special typeface to distinguish commands that you enter from items that the system displays (such as prompts, command output, error messages, etc.).
  • Here is a sample of C code:

    #include <stdio.h> main() { printf("hello world\n"); }
  • In syntax descriptions, the instruction, command, or directive is in a bold typeface and parameters are in an italic typeface. Portions of a syntax that are in bold should be entered as shown; portions of a syntax that are in italics describe the type of information that should be entered.
  • Square brackets ( [ and ] ) identify an optional parameter. If you use an optional parameter, you specify the information within the brackets. Unless the square brackets are in the bold typeface, do not enter the brackets themselves. The following is an example of a command that has an optional parameter:
  • armcl [options] [filenames] [--run_linker [link_options] [object files]]
  • Braces ( { and } ) indicate that you must choose one of the parameters within the braces; you do not enter the braces themselves. This is an example of a command with braces that are not included in the actual syntax but indicate that you must specify either the --rom_model or --ram_model option:
  • armcl --run_linker  {--rom_model | --ram_model} filenames [--output_file=name.out]
    --library= libraryname
  • In assembler syntax statements, The leftmost character position, column 1, is reserved for the first character of a label or symbol. If the label or symbol is optional, it is usually not shown. If it is a required parameter, it is shown starting against the left margin of the box, as in the example below. No instruction, command, directive, or parameter, other than a symbol or label, can begin in column 1.
  • symbol .usect "section name", size in bytes[, alignment]
  • Some directives can have a varying number of parameters. For example, the .byte directive can have multiple parameters. This syntax is shown as [, ..., parameter].
  • .byteparameter1[, ... , parametern]
  • The TMS470 and TMS570 devices are collectively referred to as ARM.
  • The ARM 16-bit instruction set is referred to as 16-BIS.
  • The ARM 32-bit instruction set is referred to as 32-BIS.
  • Other symbols and abbreviations used throughout this document include the following:
Symbol Definition
B,b Suffix — binary integer
H, h Suffix — hexadecimal integer
LSB Least significant bit
MSB Most significant bit
0x Prefix — hexadecimal integer
Q, q Suffix — octal integer

Related Documentation From Texas Instruments

See the following resources for further information about the TI Code Generation Tools:

You can use the following books to supplement this user's guide:

    SPNU151 ARM Optimizing C/C++ Compiler User's Guide. Describes the ARM C/C++ compiler. This C/C++ compiler accepts ANSI standard C/C++ source code and produces assembly language source code for the ARM platform of devices.
    SPNU134 TMS470R1x User's Guide. Describes the TMS470R1x RISC microcontroller, its architecture (including registers), ICEBreaker module, interfaces (memory, coprocessor, and debugger), 16-bit and 32-bit instruction sets, and electrical specifications.

Trademarks

ARM is a registered trademark of ARM Limited.

All other trademarks are the property of their respective owners.

Back to Top

Submit Documentation Feedback

Copyright© 2016, Texas Instruments Incorporated. An IMPORTANT NOTICE for this document addresses availability, warranty, changes, use in safety-critical applications, intellectual property matters and other important disclaimers.