




TMS320C3x/C4x 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 development cycle for floating-point applications. The TMS320C3x/C4x C Compiler/Assembler/Linker was designed with three 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 C3x or C4x 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 TMS320 Floating-Point 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 C3x or C4x 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 peripheral control library is a collection of C header files that define data structures that can be used in C source code to access the C3x on-chip peripherals. The math assembly archive is a collection of math assembly files that provide improved execution speed over the run-time support C source versions of the math 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. |




