This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]