Forums

Problem using fastrts64x.lib with DM642 and DSP/BIOS library

Started by Marc Barmettler May 4, 2007
Hi

I am trying to make fasrts work on my TMS320DM642. I am using DSP/BIOS for 
my program, and when I link rts6400.lib, and error appears saying that some 
symbols (2) are defined multiple times (-c_int00 and __stack).

When i don't link the rts6400.lib and still include fasrts64x.lib, the 
program compiles but fasrts functions aren't used and there are no 
improvements for my computation time.

I already tried linking fasrts and rts6400 in the correct order, without 
dsp/bios and i can see the effects of the library however i need DSP/BIOS.

Does anyone have an idea what to do?

Thanks 


Marc Barmettler wrote:
> Hi > > I am trying to make fasrts work on my TMS320DM642. I am using DSP/BIOS for > my program, and when I link rts6400.lib, and error appears saying that some > symbols (2) are defined multiple times (-c_int00 and __stack). > > When i don't link the rts6400.lib and still include fasrts64x.lib, the > program compiles but fasrts functions aren't used and there are no > improvements for my computation time. > > I already tried linking fasrts and rts6400 in the correct order, without > dsp/bios and i can see the effects of the library however i need DSP/BIOS. > > Does anyone have an idea what to do? > > Thanks > >
Two options: 1) Set the link order in your project such that fastrts gets linked before rts. Since you're using BIOS I think the way you would do this would be to create your own linker command file with a single inclusion of the library and then inclusion of the auto-generated header file. 2) Use the alternate symbol. For example a single precision cosine is the function cosf(float z). The _cosf symbol is part of both rts.lib and fastrts.lib. The fastrts library gives you a second unique way to call this function, cossp(float z). The _cossp symbol is only part of fastrts.lib and resolves to the same code as _cosf in that library. Brad