DSPRelated.com
Forums

How to move RTS functions into internal ram while using DSP/Bios

Started by ".dorian" November 26, 2007
Hey community,

again I have one of these questions that are actually pretty easy so solve,
however I don't know yet how =)

I try to move the memcpy function from the rts library from my external ram
into the internal one, but since I use DSP/Bios I am facing some "defined
multiple
times" link errors.

Here is what I do:

The erroneous part in my custom cmd files looks like that:

-----------
.slowCode :{

C:\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib (.text)

} > ISRAM
----------

The errors I get, are

----------

>> error: symbol _c_int00 is defined multiple times: boot.obj
>> error: symbol __stack is defined multiple times: boot.obj
(C:\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib) and boot.o64
(C:/CCStudio_v3.1/C6000/bios/lib/biosi.a64)
>> C:\libx264enc\x264enc.cmd, line 40: warning:

C:\CCStudio_v3.1\C6000\cgtools\lib\rts6400.lib(.text)
not found
---------

I think these errors occur because rts6400.lib has already been linked in
the DSP/Bios
cmd file, but since I only try to move memcopy.obj I am a little confused
here =)

Hopefully somebody knows how to move the function into the fast ram, I
appreciate
your help =)

dorian
hey everybody,

I am just writing this to complete my question and
post a solution for these who may have the same
problem and are looking for a solution.

To solve the link errors I used the windows shell
and run "css path\C6000\cgtools\bin\ar6x.exe -x ..\lib\rts6400.lib"
to extract all the obj files from the library. Next, I checked my map file
to see which of these functions I need to link. I told the linker to link
the
corresponding obj files by adding them to my separate (non DSP/BIOS) cmd
file.

the cmd looks something like:

.rtsCode : {
path_to_rts_object_files\imath64.obj (.text)
...
...
} > ISRAM
In one of the spru* files I found something like

-rts6400.lib(.text), but this method causes the same errors.

I hope this may be useful for somebody

cu
dorian