The following list describes the tools that
are shown in Figure 2-1:
- The
C/C++ compiler accepts C/C++ source code and produces TMS320C6000 machine code object modules. See the
TMS320C6000 Optimizing Compiler User's Guide for more information.
- The
assembly optimizer allows you to write linear assembly code without being
concerned with the pipeline structure or with assigning registers. It accepts assembly
code that has not been register-allocated and is unscheduled. The assembly optimizer
assigns registers and uses loop optimization to turn linear assembly into highly parallel
assembly that takes advantage of software pipelining. See the TMS320C6000 Optimizing
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 the assembly process,
including the source listing format, data alignment, and section content. See Chapter 5 through Chapter 7. See the TMS320C64x/C64x+ DSP CPU and Instruction
Set Reference Guide (SPRU732), TMS320C66x CPU and Instruction Set Reference
Guide (SPRUGH7), and TMS320C674x CPU and Instruction Set Reference Guide
(SPRUFE8)
for detailed information on the assembly language instruction
set.
- The linker combines object files
into a single static executable
object module. It performs symbolic 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 global symbols. See Chapter 9.
- The archiver allows you to collect
a group of files into a single archive file, called a library. The most common use of the
archiver is to collect a group of object files into an object library. The linker extracts
object library members to resolve external references during the link. You can also use
the archiver to 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. The archiver
allows you to modify a library by deleting, replacing, extracting, or adding members. See
Section 8.2.
- The library information archiver
allows you to create an index library of several object file library variants, which is
useful when several variants of a library with different options are available. Rather
than refer to a specific library, you can link against the index library, and the linker
will choose the best match from the indexed libraries. See Section 8.6 for more information about using the archiver to manage the content of a library.
- You can use the library-build
utility to build your own customized run-time-support library. See the TMS320C6000 Optimizing Compiler User's Guide
for more information.
- The hex conversion utility
converts object files to TI-Tagged, ASCII-Hex, Intel, Motorola-S, or Tektronix object
format. Converted files can be downloaded to an EPROM programmer. See Chapter 11.
- The main product of this development
process is a executable object file that can be executed on a TMS320C6000
device. You can use an XDS emulator when refining and correcting your code.
In addition, the following utilities
are provided to help examine or manage the content of a given object file:
- The object file display utility
prints the contents of object files and object libraries in either human readable or XML
formats. See Section 10.2.
- The disassembler decodes the
machine code from object modules to show the assembly instructions that it represents. See
Section 10.3.
- The name utility prints a list of
symbol names for objects and functions defined or referenced in an object file or object
archive. See Section 10.4.
- The strip utility removes symbol
table and debugging information from object files and object libraries. See Section 10.5.