Compiler Interface
www.ti.com
• The assembler translates assembly language source files into machine language relocatable object
files. The TMS320C6000 Assembly Language Tools User's Guide explains how to use the assembler.
• The linker combines relocatable object files into a single absolute executable object file. As it creates
the executable file, it performs relocation and resolves external references. The linker accepts
relocatable object files and object libraries as input. See Chapter 5. The TMS320C6000 Assembly
Language Tools User's Guide provides a complete description of the linker.
• The archiver allows you to collect a group of files into a single archive file, called a library. The
archiver allows you to modify such libraries by deleting, replacing, extracting, or adding members. One
of the most useful applications of the archiver is building a library of object files. The TMS320C6000
Assembly Language Tools User's Guide explains how to use the archiver.
• The run-time-support libraries contain the standard ISO C and C++ library functions, compiler-utility
functions, floating-point arithmetic functions, and C I/O functions that are supported by the compiler.
See Chapter 8.
You can use the library-build utility to build your own customized run-time-support library. See
Section 8.5. Source code for the standard run-time-support library functions for C and C++ is provided
in the lib\src subdirectory of the directory where the compiler is installed.
• The hex conversion utility converts an object file into other object formats. You can download the
converted file to an EPROM programmer. The TMS320C6000 Assembly Language Tools User's Guide
explains how to use the hex conversion utility and describes all supported formats.
• The absolute lister accepts linked object files as input and creates .abs files as output. You can
assemble these .abs files to produce a listing that contains absolute, rather than relative, addresses.
Without the absolute lister, producing such a listing would be tedious and would require many manual
operations. The TMS320C6000 Assembly Language Tools User's Guide explains how to use the
absolute lister.
• The cross-reference lister uses object files to produce a cross-reference listing showing symbols,
their definitions, and their references in the linked source files. The TMS320C6000 Assembly
Language Tools User's Guide explains how to use the cross-reference utility.
• The C++ name demangler is a debugging aid that converts names mangled by the compiler back to
their original names as declared in the C++ source code. As shown in Figure 1-1, you can use the C++
name demangler on the assembly file that is output by the compiler; you can also use this utility on the
assembler listing file and the linker map file. See Chapter 9.
• The disassembler decodes object files to show the assembly instructions that they represent. The
TMS320C6000 Assembly Language Tools User's Guide explains how to use the disassembler.
• The main product of this development process is an executable object file that can be executed in a
TMS320C6000 device. You can use one of several debugging tools to refine and correct your code.
Available products include:
– An instruction-level and clock-accurate software simulator
– An XDS emulator
1.2 Compiler Interface
The compiler is a command-line program named cl6x. This program can compile, optimize, assemble, and
link programs in a single step. Within Code Composer Studio, the compiler is run automatically to perform
the steps needed to build a project.
For more information about compiling a program, see Section 2.1
The compiler has straightforward calling conventions, so you can write assembly and C functions that call
each other. For more information about calling conventions, see Chapter 7.
1.3 ANSI/ISO Standard
The compiler supports both the 1989 and 1999 versions of the C language and the 2003 version of the
C++ language. The C and C++ language features in the compiler are implemented in conformance with
the following ISO standards:
• ISO-standard C
16
Introduction to the Software Development Tools SPRU187V–March 2014
Submit Documentation Feedback
Copyright © 2014, Texas Instruments Incorporated