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