DSPRelated.com
Forums

DSP memory allocation

Started by ajs_edwards_uk February 20, 2002
Hi,

I am programming a TMS320 5402 DSK in C with Code Composer Studio for
a university project, and have no previous experience with DSPs. I
am unsure how to go about allocating memory as there are several
routes to take (CMD file, visual linker, DSP/BIOS config). This is
where I have got to so far:

I wish to use the DSP/BIOS configuration tool (it seems odd not to
use the optimised functions etc), which generates a linker command
(CMD) file. On creating the new configuration, the only options I
can select do not cater for the external memory on the board! (How
can I fix this to account for all memory on board?)

I am guessing I should be using the visual linker as this makes
memory allocation "easier"... I included in the project the CMD file
created by the DSP/BIOS configuration tool, and compile with the
visual linker selected. I then click the error about no recipe, and
the wizard picks up the CMD file (created by DSP/BIOS configuration
tool) for memory maps etc. After accepting, I get a whole load of
errors where things cannot be placed into memory because only the
internal memory has been configured by the DSP/BIOS config tool.

I was hoping that someone may be able to point me in the right
direction when it comes to memory allocation, and any recommended
procedures I should take to help me along. Any helpful web pages /
documentation on the matter will be useful.

To me, it seems that there is a lot of complicated looking stuff the
visual linker considering my program is only about 20 lines long!
(Although I have used quite a few various libraries to perform an FFT
on data acquired through the codec, and intend to return data back
via RTDX.)

Thanks for any advice / personal recommendations you can give!

Andrew Edwards




I also found using the DSP Visual Linker overly complicated. I instead
just made a modification...

#1) Use the DSP/Bios tools to configure your memory regions.
#2) create a file named "myprojhere.cmd" and add it to your project.
#3) first line of myprojhere.cmd should be "-l myprojcfg.cmd" which
includes
the linker command file that DSP Bios creates.
example

-l mercurycfg.cmd

SECTIONS {
IPROG > IPROG PAGE 0
.bss > IPROG PAGE 0
.cinit > IPROG PAGE 0
.switch > IPROG PAGE 0
.pinit > IPROG PAGE 0
.ftext > EPROG2
.text: { *(.text) } >> EPROG1 | EPROG2 | EPROG0 | IPROG PAGE 0
.const: { *(.const) } >> EPROG0 | EPROG1 PAGE 0
} Hope this helps. Carl Chipman
Nomadics, Inc.

http://www.nomadics.com > -----Original Message-----
> From: ajs_edwards_uk [mailto:]
> Sent: Wednesday, February 20, 2002 11:17 AM
> To:
> Subject: [c54x] DSP memory allocation
>
> Hi,
>
> I am programming a TMS320 5402 DSK in C with Code Composer Studio for
> a university project, and have no previous experience with DSPs. I
> am unsure how to go about allocating memory as there are several
> routes to take (CMD file, visual linker, DSP/BIOS config). This is
> where I have got to so far:
>
> I wish to use the DSP/BIOS configuration tool (it seems odd not to
> use the optimised functions etc), which generates a linker command
> (CMD) file. On creating the new configuration, the only options I
> can select do not cater for the external memory on the board! (How
> can I fix this to account for all memory on board?)
>
> I am guessing I should be using the visual linker as this makes
> memory allocation "easier"... I included in the project the CMD file
> created by the DSP/BIOS configuration tool, and compile with the
> visual linker selected. I then click the error about no recipe, and
> the wizard picks up the CMD file (created by DSP/BIOS configuration
> tool) for memory maps etc. After accepting, I get a whole load of
> errors where things cannot be placed into memory because only the
> internal memory has been configured by the DSP/BIOS config tool.
>
> I was hoping that someone may be able to point me in the right
> direction when it comes to memory allocation, and any recommended
> procedures I should take to help me along. Any helpful web pages /
> documentation on the matter will be useful.
>
> To me, it seems that there is a lot of complicated looking stuff the
> visual linker considering my program is only about 20 lines long!
> (Although I have used quite a few various libraries to perform an FFT
> on data acquired through the codec, and intend to return data back
> via RTDX.)
>
> Thanks for any advice / personal recommendations you can give!
>
> Andrew Edwards >
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the
author
> of this message will receive your answer. You need to do a "reply
all" if
> you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: Send an email to
>
> To Post: Send an email to
>
> To Leave: Send an email to
>
> Archives: http://www.yahoogroups.com/group/c54x
>
> Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.325 / Virus Database: 182 - Release Date: 2/19/2002
>

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.325 / Virus Database: 182 - Release Date: 2/19/2002