www.ti.com
Tools Descriptions
1.2 Tools Descriptions
The following list describes the tools that are shown in Figure 1-1:
• The C/C++ compiler accepts C/C++ source code and produces ARM assembly language source
code. A shell program, an optimizer, and an interlist utility are included in the compiler package:
– The shell program enables you to compile, assemble, and link source modules in one step.
– The optimizer modifies code to improve the efficiency of C/C++ programs.
– The interlist utility interlists C/C++ source statements with assembly language output to correlate
code produced by the compiler with your source code.
See the ARM Optimizing C/C++ Compiler User's Guide for more information.
• The assembler translates assembly language source files into machine language object modules.
Source files can contain instructions, assembler directives, and macro directives. You can use
assembler directives to control various aspects of the assembly process, such as the source listing
format, data alignment, and section content. See Chapter 3 through Chapter 5. See the TMS470R1x
User's Guide for detailed information on the assembly language instruction set.
• The linker combines object files into a single executable object module. As it creates the executable
module, it performs relocation and resolves external references. The linker accepts relocatable object
modules (created by the assembler) as input. It also accepts archiver library members and output
modules created by a previous linker run. Link directives allow you to combine object file sections, bind
sections or symbols to addresses or within memory ranges, and define or redefine global symbols. See
Chapter 7.
For more information about creating a dynamic object module, see
http://processors.wiki.ti.com/index.php/C6000_Dynamic_Linking.
• The archiver allows you to collect a group of files into a single archive file, called a library. For
example, you can collect several macros into a macro library. The assembler searches the library and
uses the members that are called as macros by the source file. You can also use the archiver to collect
a group of object files into an object library. The linker includes in the library the members that resolve
external references during the link. The archiver allows you to modify a library by deleting, replacing,
extracting, or adding members. See Section 6.1.
• The library information archiver allows you to create an index library of several object file library
versions, which is useful when several versions of a single library are available. This index library is the
used in the link step in place of a particular version of your object file library. See Section 6.5.
• You can use the library-build process to build your own customized run-time-support library. See the
ARM Optimizing C/C++ Compiler User's Guide for more information.
• The hex conversion utility converts an object file into TI-Tagged, ASCII-Hex, Intel, Motorola-S, or
Tektronix object format. The converted file can be downloaded to an EPROM programmer. See
Chapter 11.
• The absolute lister uses linked object files to create .abs files. These files can be assembled to
produce a listing of the absolute addresses of object code. See Chapter 8.
• The cross-reference lister uses object files to produce a cross-reference listing showing symbols,
their definition, and their references in the linked source files. See Chapter 9.
• The main product of this development process is a module that can be executed in a ARM device. You
can use one of several debugging tools to refine and correct your code. Available products include:
– An instruction-accurate and clock-accurate software simulator
– An XDS emulator
In addition, the following utilities are provided:
• The object file display utility prints the contents of object files, executable files, and/or archive
libraries in both human readable and XML formats. See Section 10.1.
• The disassembler writes the disassembled object code from object or executable files. See
Section 10.2.
• The name utility prints a list of names defined and referenced in a object or an executable file. See
Section 10.3.
• The strip utility removes symbol table and debugging information from object and executable files.
17
SPNU118J– August 2011 Introduction to the Software Development Tools
Submit Documentation Feedback
Copyright © 2011, Texas Instruments Incorporated