DSPRelated.com
Forums

Stack and Heap size on c6416 dsk.

Started by theb...@excite.com July 11, 2005
Hi all,
Im pretty new to all this so any help would be greatly appreciated.
Let me tell you my problem. I am implementing an Ultra Wideband Tranmission system on the C6416 dsk. I have written it in C++ and it works away great on the PC.
I have now migrated this code onto the board and It works also but only for small number of bits. Once I get to sending about 100 bits the problem begins. It jumps to abort when delaring large arrays to store the transmitted signals. These large arrays are being stored on the SDRAM off-chip which has 16Mb of memory. So I know that my memory is not being filled.
However I beleive I know where the problem is. The stack and heap sizes are set for the ISRAM and it seems to be using these values for the SDRAM stack and heap size too. These arrays are dynamic and for example when I use 100bits they would contain around 40000 double values equating to about 300kbytes of memory.

My questions are as follows;
(1) How do I set the heap size on the SDRAM directly in the CMD file so that it can take larger values.
(2) Also I have a second problem when trying to read values back off the processor using the File->Data->Save command. It copies out jibberish even though using the watch window I can see the correct values are stored.

Please find attached my command file also and as I said previously all help is greatly appreciated, a website like this is a fantastic reference and great help to people like me just starting out.

Regards,
Niall Barry BE(Hons) MEng.
Wireless Access Research Group,
University of Limerick,
Limerick,
Ireland.


For the C55, memory location sizes for one element are limited to page
boundaries ( which from memory, I think is 64 K 16 bit words ). There may
be such a limitation on the c6416 too. But in order to get up to the page
size memory for one element, a special section must be created in the CMD
file. The when declaring the variable to go into this section, it must use
one of the pragmas that will put it into that section during linking. I
cannot recall the name of the pragma, but it will be in the C user's guide.

Regards,

Robert

www.gldsp.com

> -----Original Message-----
> From: c6x@c6x@... [mailto:c6x@c6x@...] On Behalf Of
> theblaahead@theb...
> Sent: Monday, July 11, 2005 3:53 AM
> To: c6x@c6x@...
> Subject: [c6x] Stack and Heap size on c6416 dsk.
>
> Hi all,
> Im pretty new to all this so any help would be greatly appreciated.
> Let me tell you my problem. I am implementing an Ultra Wideband
> Tranmission system on the C6416 dsk. I have written it in C++ and it
> works away great on the PC.
> I have now migrated this code onto the board and It works also
> but only for small number of bits. Once I get to sending about 100
> bits the problem begins. It jumps to abort when delaring large arrays
> to store the transmitted signals. These large arrays are being stored
> on the SDRAM off- chip which has 16Mb of memory. So I know that my
> memory is not being filled.
> However I beleive I know where the problem is. The stack and
> heap sizes are set for the ISRAM and it seems to be using these values
> for the SDRAM stack and heap size too. These arrays are dynamic and
> for example when I use 100bits they would contain around 40000 double
> values equating to about 300kbytes of memory.
>
> My questions are as follows;
> (1) How do I set the heap size on the SDRAM directly in the CMD file
> so that it can take larger values.
> (2) Also I have a second problem when trying to read values back off
> the processor using the File->Data->Save command. It copies out
> jibberish even though using the watch window I can see the correct values
are stored.
>
> Please find attached my command file also and as I said previously all
> help is greatly appreciated, a website like this is a fantastic
> reference and great help to people like me just starting out.
>
> Regards,
> Niall Barry BE(Hons) MEng.
> Wireless Access Research Group,
> University of Limerick,
> Limerick,
> Ireland. >

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.8.13/47 - Release Date: 7/12/2005



Mmmm...paging in C64x? I doubt it.

--Bhooshan

On 7/13/05, robert <r_obert@r_ob...> wrote:
> For the C55, memory location sizes for one element are limited to page
> boundaries ( which from memory, I think is 64 K 16 bit words ). There may
> be such a limitation on the c6416 too. But in order to get up to the page
> size memory for one element, a special section must be created in the CMD
> file. The when declaring the variable to go into this section, it must use
> one of the pragmas that will put it into that section during linking. I
> cannot recall the name of the pragma, but it will be in the C user's guide.
>
> Regards,
>
> Robert
>
> www.gldsp.com
>
> > -----Original Message-----
> > From: c6x@c6x@... [mailto:c6x@c6x@...] On Behalf Of
> > theblaahead@theb...
> > Sent: Monday, July 11, 2005 3:53 AM
> > To: c6x@c6x@...
> > Subject: [c6x] Stack and Heap size on c6416 dsk.
> >
> > Hi all,
> > Im pretty new to all this so any help would be greatly appreciated.
> > Let me tell you my problem. I am implementing an Ultra Wideband
> > Tranmission system on the C6416 dsk. I have written it in C++ and it
> > works away great on the PC.
> > I have now migrated this code onto the board and It works also
> > but only for small number of bits. Once I get to sending about 100
> > bits the problem begins. It jumps to abort when delaring large arrays
> > to store the transmitted signals. These large arrays are being stored
> > on the SDRAM off- chip which has 16Mb of memory. So I know that my
> > memory is not being filled.
> > However I beleive I know where the problem is. The stack and
> > heap sizes are set for the ISRAM and it seems to be using these values
> > for the SDRAM stack and heap size too. These arrays are dynamic and
> > for example when I use 100bits they would contain around 40000 double
> > values equating to about 300kbytes of memory.
> >
> > My questions are as follows;
> > (1) How do I set the heap size on the SDRAM directly in the CMD file
> > so that it can take larger values.
> > (2) Also I have a second problem when trying to read values back off
> > the processor using the File->Data->Save command. It copies out
> > jibberish even though using the watch window I can see the correct values
> are stored.
> >
> > Please find attached my command file also and as I said previously all
> > help is greatly appreciated, a website like this is a fantastic
> > reference and great help to people like me just starting out.
> >
> > Regards,
> > Niall Barry BE(Hons) MEng.
> > Wireless Access Research Group,
> > University of Limerick,
> > Limerick,
> > Ireland.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.13/47 - Release Date: 7/12/2005 >
>


--
-------------------------------
"I've missed more than 9000 shots in my career.
I've lost almost 300 games. 26 times I've been trusted to take the
game winning shot and missed.
I've failed over and over again in my life.
And that is why I succeed."
-- Michael Jordan
--------------------------------