porting the assembler and linker to a new target (Texas Instruments tms320c2000 series)

Nick Clifton nickc@redhat.com
Thu Jan 8 12:57:00 GMT 2009


Hi Daniel,

> I am in need of a simple toolchain (assembler and linker, which
> manages runtime relocation of ROM-code to run i RAM) for the C2000
> series of tms320 processors, my intended target is the tms320F28016
> DSP.
> 
> I have only seen binutils from a "consumer" perspective, so I wonder
> if there is any list of things to consider/ any howto on porting to a
> new platform.

There isn't, but porting the binutils to a variant of an already 
established cpu port is not too difficult.  First decide which of the 
established ports is closest to the target you are interested in. 
Currently we have ports for the TMS320C30, TMS320C[34]X and the TMS320C54X.

Next, look at the target specific source code for the port you have 
selected.  So for example if you go with the TMS320C30 then look at
gas/config/tc-tic30.c, bfd/coff-tic30.c and opcodes/tic30-dis.c. 
Basically you are going to have to take copies of these files and modify 
them to match the TMS320C2000 specifications.  With luck the differences 
will not be too bad.

You will also have to modify some configuration files so that you can 
build a toolchain targeted at the TMS320C2000.  A simple grep should let 
you find out which files you need to change.

Once you have your new port working you should consider adding some 
TMS320C2000 specific assembler tests to the assembler testsuite and 
maybe also some extra tests to the linker testsuite.

Finally you must consider whether you wish to contribute this work to 
the FSF for inclusion into the official binutils sources.  This will 
mean signing a copyright assignment agreement and also deciding whether 
you are willing to act as a maintainer for the sources so that they will 
continue to work (and be improved) in the future.

Cheers
   Nick




More information about the Binutils mailing list