Preface. Texas Instruments TMS320C6000 Optimizing Compiler v 6.1 (Rev. O), TMS320C6000 Optimizing Compiler v 7.4 (Rev. U), TMS320C6000 Optimizing Compiler v 7.0 (Rev. Q), TMS320C6000 Optimizing Compiler v 6.0 Beta (Rev. N)
Advertisement
Advertisement
Preface
SPRU187U – July 2012
Read This First
About This Manual
The TMS320C6000 Optimizing Compiler User's Guide explains how to use these compiler tools:
• Compiler
• Assembly optimizer
• Library build utility
• C++ name demangler
The compiler accepts C and C++ code conforming to the International Organization for Standardization
(ISO) standards for these languages. The compiler supports the 1989 version of the C language and the
1998 version of the C++ language.
This user's guide discusses the characteristics of the C/C++ compiler. It assumes that you already know how to write C/C++ programs. The C Programming Language (second edition), by Brian W. Kernighan and Dennis M. Ritchie, describes C based on the ISO C standard. You can use the Kernighan and Ritchie
(hereafter referred to as K&R) book as a supplement to this manual. References to K&R C (as opposed to
ISO C) in this manual refer to the C language as defined in the first edition of Kernighan and Ritchie's The
C Programming Language.
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, cruel 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:
cl6x [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: cl6x --run_linker {--rom_model | --ram_model} filenames [--output_file= name.out]
--library= libraryname
SPRU187U – July 2012
Submit Documentation Feedback
Read This First 11
Copyright © 2012, Texas Instruments Incorporated
Related Documentation www.ti.com
• In assembler syntax statements, 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. This syntax is shown as [, ..., parameter].
• The TMS320C6200™ core is referred to as C6200. The TMS320C6400 core is referred to as C6400.
The TMS320C6700 core is referred to as C6700. TMS320C6000 and C6000 can refer to any of
C6200, C6400, C6400+, C6700, C6700+, C6740, or C6600.
Related Documentation
You can use the following books to supplement this user's guide:
ANSI X3.159-1989, Programming Language - C (Alternate version of the 1989 C Standard), American
National Standards Institute
ISO/IEC 9899:1989, International Standard - Programming Languages - C (The 1989 C Standard),
International Organization for Standardization
ISO/IEC 9899:1999, International Standard - Programming Languages - C (The C Standard),
International Organization for Standardization
ISO/IEC 14882-1998, International Standard - Programming Languages - C++ (The C++ Standard),
International Organization for Standardization
The C Programming Language (second edition), by Brian W. Kernighan and Dennis M. Ritchie, published by Prentice-Hall, Englewood Cliffs, New Jersey, 1988
The Annotated C++ Reference Manual, Margaret A. Ellis and Bjarne Stroustrup, published by Addison-
Wesley Publishing Company, Reading, Massachusetts, 1990
C: A Reference Manual (fourth edition), by Samuel P. Harbison, and Guy L. Steele Jr., published by
Prentice Hall, Englewood Cliffs, New Jersey
Programming Embedded Systems in C and C++, by Michael Barr, Andy Oram (Editor), published by
O'Reilly & Associates; ISBN: 1565923545, February 1999
Programming in C, Steve G. Kochan, Hayden Book Company
The C++ Programming Language (second edition), Bjarne Stroustrup, published by Addison-Wesley
Publishing Company, Reading, Massachusetts, 1990
Tool Interface Standards (TIS) DWARF Debugging Information Format Specification Version 2.0,
TIS Committee, 1995
DWARF Debugging Information Format Version 3, DWARF Debugging Information Format Workgroup,
Free Standards Group, 2005 ( http://dwarfstd.org
)
12 Read This First
Copyright © 2012, Texas Instruments Incorporated
SPRU187U – July 2012
Submit Documentation Feedback
www.ti.com
Related Documentation From Texas Instruments
Related Documentation From Texas Instruments
You can use the following books to supplement this user's guide:
SPRAAB5 — The Impact of DWARF on TI Object Files. Describes the Texas Instruments extensions to the DWARF specification.
SPRAB90 — TMS320C6000 EABI Migration Guide Application Report. Describes the changes which must be made to existing COFF ABI libraries and applications to add support for the new EABI.
SPRU186 — TMS320C6000 Assembly Language Tools User's Guide. Describes the assembly language tools (assembler, linker, and other tools used to develop assembly language code), assembler directives, macros, common object file format, and symbolic debugging directives for the
TMS320C6000 platform of devices (including the C64x+ and C67x+ generations).
SPRU190 — TMS320C6000 DSP Peripherals Overview Reference Guide. Provides an overview and briefly describes the peripherals available on the TMS320C6000 family of digital signal processors
(DSPs).
SPRU198 — TMS320C6000 Programmer's Guide. Reference for programming the TMS320C6000 digital signal processors (DSPs). Before you use this manual, you should install your code generation and debugging tools. Includes a brief description of the C6000 DSP architecture and code development flow, includes C code examples and discusses optimization methods for the C code, describes the structure of assembly code and includes examples and discusses optimizations for the assembly code, and describes programming considerations for the C64x DSP.
SPRU197 — TMS320C6000 Technical Brief. Provides an introduction to the TMS320C62x and
TMS320C67x digital signal processors (DSPs) of the TMS320C6000 DSP family. Describes the
CPU architecture, peripherals, development tools and third-party support for the C62x and C67x
DSPs.
SPRU423 — TMS320 DSP/BIOS User's Guide. DSP/BIOS gives developers of mainstream applications on Texas Instruments TMS320 digital signal processors (DSPs) the ability to develop embedded real-time software. DSP/BIOS provides a small firmware real-time library and easy-to-use tools for real-time tracing and analysis.
SPRU731 — TMS320C62x DSP CPU and Instruction Set Reference Guide. Describes the CPU architecture, pipeline, instruction set, and interrupts for the TMS320C62x digital signal processors
(DSPs) of the TMS320C6000 DSP family. The C62x DSP generation comprises fixed-point devices in the C6000 DSP platform.
SPRU732 — TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide. Describes the CPU architecture, pipeline, instruction set, and interrupts for the TMS320C64x and TMS320C64x+ digital signal processors (DSPs) of the TMS320C6000 DSP family. The C64x/C64x+ DSP generation comprises fixed-point devices in the C6000 DSP platform. The C64x+ DSP is an enhancement of the C64x DSP with added functionality and an expanded instruction set.
SPRU733 — TMS320C67x/C67x+ DSP CPU and Instruction Set Reference Guide. Describes the CPU architecture, pipeline, instruction set, and interrupts for the TMS320C67x and TMS320C67x+ digital signal processors (DSPs) of the TMS320C6000 DSP platform. The C67x/C67x+ DSP generation comprises floating-point devices in the C6000 DSP platform. The C67x+ DSP is an enhancement of the C67x DSP with added functionality and an expanded instruction set.
SPRUGH7 — TMS320C66x CPU and Instruction Set Reference Guide. Describes the CPU architecture, pipeline, instruction set, and interrupts for the TMS320C66x digital signal processors
(DSPs) of the TMS320C6000 DSP platform. The C66x DSP generation comprises floating-point devices in the C6000 DSP platform.
TMS320C6200, TMS320C6000 are trademarks of Texas Instruments.
All other trademarks are the property of their respective owners.
SPRU187U – July 2012
Submit Documentation Feedback
Copyright © 2012, Texas Instruments Incorporated
Read This First 13
Download
Advertisement