




TMS320C2x/C2000/C5x Optimizing C Compiler/Assembler/LinkerSpeedy development and code maintenance over the life cycle of a product are concerns that all developers share. TI supports DSP developers with a family of floating point code generation tools for the TMS320 DSPs. The TI optimizing C compilers translate ANSI-standard, C language files into highly efficient TMS320 assembly language source files, which are then input to the TMS320 assembler/linker. TI C compilers are complemented by the standard TMS320 programmer's interface for debugging C and assembly source code. The C compilers produce a rich set of debugging information, which allows source-level debugging in C to enhance productivity and shorten the application development cycle. The TMS320C2x/C2000/C5x Optimizing C Compiler/Assembler/Linker, was designed withthree major efficiency goals in mind:
Additional key features of the TMS320 C code generation tools include:
The C Compiler accepts ANSI C source code and produces efficient C2x. C2000, or C5x assembly language source code, performing a wide variety of optimizations to improve the efficiency of the compiled code. The compiler incorporates four levels of state-of-the-art generic and target-specific optimizations. The level of optimizations is selectable. The C compiler was validated with the Perenial, Plum-Hall C Validation Suite and the K&R Test. Optimizations include: Specific TMS320C2x/C2000/C5x Optimizations General Optimizations The C compiler package includes: A shell program that calls the individual programs with the desired options. The shell program can call the parser, the optimizer, the code generator, the interlist utility, the assembler, and the linker. The parser reads the C source code file, performs preprocessing functions, verifies the syntax, and produces an intermediate file that is used as an input to the optimizer or code generator. The optimizer reads the intermediate file generated by the parser, and performs various general and target specific optimizations to improve the execution speed of the program. The code generator reads the intermediate file generated by the parser or the optimizer and converts it to a C2x, C2000, or C5x assembly source code file. The interlist utility adds comments containing the C source code within the assembly language source code file. The assembler translates assembly language source code into machine language COFF object files. It also supports a macro language that enables users to create their own "instructions". The archiver allows you to manage archive files (also called libraries) which consist of a collection of source code files or COFF object files. The run-time support archive is a collection of C, C header and assembly language source files that implement ANSI standard runtime-support functions. The library-build utility allows you to build a COFF object library from a source code archive. The linker allows you to combine COFF object files into a single executable COFF output file. The linker allocates relocatable sections, symbols and resolves external references between input files. The hex conversion utility allows you to convert an executable COFF output file into ASCII-Hex, Intel MSC-86, Extended Tektronix, Motorola-S, or TI-Tagged Object file format that can be used as input to an EPROM programmer. The cross-reference utility accepts linked object files and produces a listing of all symbols, their definitions, including the names of linked source files where they are defined and referenced. The absolute lister accepts linked object files and produces an file that can be used with the assembler to produce an abolute listing file that contains the absolute addresses of all assembled instructions. |




