TCC67 Free Compiler
Compiler for the Texas Instruments TMS320C6711 Processor
TCC67 is a very fast nearly ANSI C Compiler for the TMS320C6711.


TCC67 is a modified version of the TCC Compiler for the TI TMS320C67xx Processor. The TI C67xx is a DSP with native IEEE single and double precision floating point support) and > 1GFLOP capability. This project is configured as a MS Visual Studio 6.0 project to run Under MS Windows. TCC67 is a command line compiler that may input one or more *.c and *.out files and creates a *.out coff file.

The state of the code is that it is quite robust at generating correct code for basic c programs. Most of ANSI C should be supported (including native double support) with the following exceptions:

Functions with more than 10 parameters
Functions with variable number of Parameters
Functions returning Structures
LONG LONG data types

Code efficiency is poor (~3X slower than an optimized compiler) and no attempt at parallelism is made.

Compile times are lightning fast, typically in the 0.1 sec range.

TCC67 generates as output a coff file (*.out) that is compatible with TI's version of CodeComposer Studio.  If a coff file (*.out) is specified as input, the symbol table will be read and any generated code will be linked to those absolute symbols.  This allows for a mechanism to make RTL calls and "OS" calls into an existing executable (*.out) if one is available in your environment.

The output coff file also contains symbols and debug info which were quite compatible with CCS Version 1.2, however in CCS 2.x the line no and function information is no longer compatible.

TCC67 doesn't generate assembly code rather it generates machine code directly. If the compiler is compiled in debug mode a define ASSEMBLY_LISTING_C67 will be automatically defined which creates a primitive assembly listing into file TCC67_out.txt. This file lists the TCC identified tokens intermixed with the generated C67 Assembly mnemonics which gives a rough idea of what is being generated.

See an example of TCC67_out.txt for the following simple source code here.

void main(void)
{
    int i,n;

    for (i=0; i<100; i++)
    {
        n+=i;
    }
}

 


Compile options -text -data -bss allow specification (in hex) of where to locate the respective sections. If -data or -bss are unspecified, they default to directly after the previous section. The default for the text section is hex 400.

Example command line:

TCC67 -g -nostdinc -o ".\Test.out" ".\Test.c" -text 80040000

Download TCC67 Source  New 10-02-04 Version*

 

Download TCC Visual Studio Source