DSPRelated.com
Forums

MEM_alloc

Started by Alexandre Freire da Silva Osorio October 1, 2002
Hi,

My application allocates large buffers dinamycally so it should be placed in
off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it
in my code, but the linker doesn't recognizes these functions.

Please, what is the lib that I must link to my code that contains MEM_alloc and
MEM_free? Because of real-time restrictions, my application doesn't uses
DSP/BIOS.

Thank you!

Regards,
Alexandre



RE: [c6x] MEM_alloc

DSP/BIOS contains MEM_alloc() and MEM_free().  BTW, DSP/BIOS is intended to help you meet Real-Time requirements!

-----Original Message-----
From: Alexandre Freire da Silva Osorio [mailto:a...@fitec.org.br]
Sent: Tuesday, October 01, 2002 9:25 AM
To: C...@yahoogroups.com
Subject: [c6x] MEM_alloc


Hi,

My application allocates large buffers dinamycally so it should be placed in off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it in my code, but the linker doesn't recognizes these functions.

Please, what is the lib that I must link to my code that contains MEM_alloc and MEM_free? Because of real-time restrictions, my application doesn't uses DSP/BIOS.

Thank you!

Regards,
Alexandre


_____________________________________
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 c...@yahoogroups.com

To Post:  Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com
 

" TARGET="_blank">http://docs.yahoo.com/info/terms/



Thank you, Tom.

Our application was initially developed without DSP/BIOS. Last month we tried to
use it but it failed because the overhead introduced by DSP/BIOS caused many
interruptions losts in our system.

Do you know what is the library that contains MEM_alloc? So I could link it in
my code.

Thank you!

Regards,
Alexandre

-----Original Message-----
From: Dillon, Tom [mailto:]
Sent: Tuesday, October 01, 2002 11:44 AM
To: Alexandre Freire da Silva Osorio;
Subject: RE: [c6x] MEM_alloc
DSP/BIOS contains MEM_alloc() and MEM_free(). BTW, DSP/BIOS is intended to help
you meet Real-Time requirements!

-----Original Message-----
From: Alexandre Freire da Silva Osorio [ mailto:]
Sent: Tuesday, October 01, 2002 9:25 AM
To:
Subject: [c6x] MEM_alloc Hi,

My application allocates large buffers dinamycally so it should be placed in
off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it
in my code, but the linker doesn't recognizes these functions.

Please, what is the lib that I must link to my code that contains MEM_alloc and
MEM_free? Because of real-time restrictions, my application doesn't uses
DSP/BIOS.

Thank you!

Regards,
Alexandre _____________________________________
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/c6x

Other Groups: http://www.dsprelated.com ">http://docs.yahoo.com/info/terms/



Alexandre Freire da Silva Osorio schrieb:

> Thank you, Tom.
>
> Our application was initially developed without DSP/BIOS. Last month we tried
to use it but it failed because the overhead introduced by DSP/BIOS caused many
interruptions losts in our system.
>
> Do you know what is the library that contains MEM_alloc? So I could link it in
my code.
>
> Thank you!
>
> Regards,
> Alexandre
>
> -----Original Message-----
> From: Dillon, Tom [mailto:]
> Sent: Tuesday, October 01, 2002 11:44 AM
> To: Alexandre Freire da Silva Osorio;
> Subject: RE: [c6x] MEM_alloc
>
> DSP/BIOS contains MEM_alloc() and MEM_free(). BTW, DSP/BIOS is intended to
help you meet Real-Time requirements!
>
> -----Original Message-----
> From: Alexandre Freire da Silva Osorio [ mailto:]
> Sent: Tuesday, October 01, 2002 9:25 AM
> To:
> Subject: [c6x] MEM_alloc
>
> Hi,
>
> My application allocates large buffers dinamycally so it should be placed in
off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it
in my code, but the linker doesn't recognizes these functions.
>
> Please, what is the lib that I must link to my code that contains MEM_alloc
and MEM_free? Because of real-time restrictions, my application doesn't uses
DSP/BIOS.
>
> Thank you!
>
> Regards,
> Alexandre
>
> _____________________________________

DSP/BIOS's MEM_alloc and MEM_free are replacing the older malloc / free
functions of the C6x Run Time Support Library (e.g. rtsXX.lib).
They are different in the respect that you can now specify the heap segment and
therefore the memory type (internal, external) where you want
the memory to be allocated from. Also, MEM_alloc and MEM_free are atomic
functions i.e. further allocations are blocked by semaphores until
a specific alloc request has been completed. Both techniques are used to meet
what Tom means by real time deadlines.

If you don`t want to use DSP/BIOS then you can still use the mem_alloc / free
functions of the rts library. Memory is then allocated
from a segment called sysmem (one global heap). If you want this memory to be
fast then make sure to place it into internal memory
in the linker command file.

Finally, I dont think there is a specific lib containing MEM_alloc / free. The
CDB tool in CCS generates a set of DSP/BIOS related files
which are linked with your project. Moreover, since you need the RTOS running to
take care of the MEM_alloc related semaphores you
cannot rib MEM_alloc out of BIOS:

Rgds. Phil

--
Dipl.-Inf.
Phil Alder - Field Application Engineer
------------------------------
DSPecialists GmbH
Rotherstr. 22
10245 Berlin, Germany http://www.DSPecialists.de
------------------------------
DSPecialists - Making the impossible work!




I've generally found DSP/BIOS fast enough as a real-time environment provided
you don't do any realtime monitoring across the JTAG interface. That can cause
lost interrupts missing EDMA transfers etc.

Maybe you should retry DSP/BIOS without any of the trace and monitoring
capability turned on. I don't know what interrupt rate you are trying to
support, but in principle DSP/BIOS should be pretty quick.

Andrew E.

At 09:18 AM 10/2/2002 +0200, Phil Alder wrote:
>Alexandre Freire da Silva Osorio schrieb:
>
>> Thank you, Tom.
>>
>> Our application was initially developed without DSP/BIOS. Last month we tried
to use it but it failed because the overhead introduced by DSP/BIOS caused many
interruptions losts in our system.
>>
>> Do you know what is the library that contains MEM_alloc? So I could link it
in my code.
>>
>> Thank you!
>>
>> Regards,
>> Alexandre
>>
>> -----Original Message-----
>> From: Dillon, Tom [mailto:]
>> Sent: Tuesday, October 01, 2002 11:44 AM
>> To: Alexandre Freire da Silva Osorio;
>> Subject: RE: [c6x] MEM_alloc
>>
>> DSP/BIOS contains MEM_alloc() and MEM_free(). BTW, DSP/BIOS is intended to
help you meet Real-Time requirements!
>>
>> -----Original Message-----
>> From: Alexandre Freire da Silva Osorio [ mailto:]
>> Sent: Tuesday, October 01, 2002 9:25 AM
>> To:
>> Subject: [c6x] MEM_alloc
>>
>> Hi,
>>
>> My application allocates large buffers dinamycally so it should be placed in
off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it
in my code, but the linker doesn't recognizes these functions.
>>
>> Please, what is the lib that I must link to my code that contains MEM_alloc
and MEM_free? Because of real-time restrictions, my application doesn't uses
DSP/BIOS.
>>
>> Thank you!
>>
>> Regards,
>> Alexandre
>>
>> _____________________________________
>
>DSP/BIOS's MEM_alloc and MEM_free are replacing the older malloc / free
functions of the C6x Run Time Support Library (e.g. rtsXX.lib).
>They are different in the respect that you can now specify the heap segment and
therefore the memory type (internal, external) where you want
>the memory to be allocated from. Also, MEM_alloc and MEM_free are atomic
functions i.e. further allocations are blocked by semaphores until
>a specific alloc request has been completed. Both techniques are used to meet
what Tom means by real time deadlines.
>
>If you don`t want to use DSP/BIOS then you can still use the mem_alloc / free
functions of the rts library. Memory is then allocated
>from a segment called sysmem (one global heap). If you want this memory to be
fast then make sure to place it into internal memory
>in the linker command file.
>
>Finally, I dont think there is a specific lib containing MEM_alloc / free. The
CDB tool in CCS generates a set of DSP/BIOS related files
>which are linked with your project. Moreover, since you need the RTOS running
to take care of the MEM_alloc related semaphores you
>cannot rib MEM_alloc out of BIOS:
>
>Rgds. Phil
>
>--
>Dipl.-Inf.
>Phil Alder - Field Application Engineer
>------------------------------
>DSPecialists GmbH
>Rotherstr. 22
>10245 Berlin, Germany http://www.DSPecialists.de
>------------------------------
> DSPecialists - Making the impossible work! >
>_____________________________________
>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/c6x
>
>Other Groups: http://www.dsprelated.com >">http://docs.yahoo.com/info/terms/




Andrew,

Any monitoring capability was enabled when we tried to use DSP/BIOS. We did lots
of tests before conclude that the cause of the lost interupts was DSP/BIOS
overhead. Thank you for your attention.

Regards,
Alexandre

-----Original Message-----
From: Andrew Elder [mailto:]
Sent: Wednesday, October 02, 2002 11:18 AM
To: Phil Alder; Alexandre Freire da Silva Osorio
Cc:
Subject: Re: [c6x] MEM_alloc
I've generally found DSP/BIOS fast enough as a real-time environment provided
you don't do any realtime monitoring across the JTAG interface. That can cause
lost interrupts missing EDMA transfers etc.

Maybe you should retry DSP/BIOS without any of the trace and monitoring
capability turned on. I don't know what interrupt rate you are trying to
support, but in principle DSP/BIOS should be pretty quick.

Andrew E.

At 09:18 AM 10/2/2002 +0200, Phil Alder wrote:
>Alexandre Freire da Silva Osorio schrieb:
>
>> Thank you, Tom.
>>
>> Our application was initially developed without DSP/BIOS. Last month we tried
to use it but it failed because the overhead introduced by DSP/BIOS caused many
interruptions losts in our system.
>>
>> Do you know what is the library that contains MEM_alloc? So I could link it
in my code.
>>
>> Thank you!
>>
>> Regards,
>> Alexandre
>>
>> -----Original Message-----
>> From: Dillon, Tom [mailto:]
>> Sent: Tuesday, October 01, 2002 11:44 AM
>> To: Alexandre Freire da Silva Osorio;
>> Subject: RE: [c6x] MEM_alloc
>>
>> DSP/BIOS contains MEM_alloc() and MEM_free(). BTW, DSP/BIOS is intended to
help you meet Real-Time requirements!
>>
>> -----Original Message-----
>> From: Alexandre Freire da Silva Osorio [ mailto:]
>> Sent: Tuesday, October 01, 2002 9:25 AM
>> To:
>> Subject: [c6x] MEM_alloc
>>
>> Hi,
>>
>> My application allocates large buffers dinamycally so it should be placed in
off-chip memory. In CCS help I read about MEM_alloc and MEM_free and I used it
in my code, but the linker doesn't recognizes these functions.
>>
>> Please, what is the lib that I must link to my code that contains MEM_alloc
and MEM_free? Because of real-time restrictions, my application doesn't uses
DSP/BIOS.
>>
>> Thank you!
>>
>> Regards,
>> Alexandre
>>
>> _____________________________________
>
>DSP/BIOS's MEM_alloc and MEM_free are replacing the older malloc / free
functions of the C6x Run Time Support Library (e.g. rtsXX.lib).
>They are different in the respect that you can now specify the heap segment and
therefore the memory type (internal, external) where you want
>the memory to be allocated from. Also, MEM_alloc and MEM_free are atomic
functions i.e. further allocations are blocked by semaphores until
>a specific alloc request has been completed. Both techniques are used to meet
what Tom means by real time deadlines.
>
>If you don`t want to use DSP/BIOS then you can still use the mem_alloc / free
functions of the rts library. Memory is then allocated
>from a segment called sysmem (one global heap). If you want this memory to be
fast then make sure to place it into internal memory
>in the linker command file.
>
>Finally, I dont think there is a specific lib containing MEM_alloc / free. The
CDB tool in CCS generates a set of DSP/BIOS related files
>which are linked with your project. Moreover, since you need the RTOS running
to take care of the MEM_alloc related semaphores you
>cannot rib MEM_alloc out of BIOS:
>
>Rgds. Phil
>
>--
>Dipl.-Inf.
>Phil Alder - Field Application Engineer
>------------------------------
>DSPecialists GmbH
>Rotherstr. 22
>10245 Berlin, Germany http://www.DSPecialists.de
>------------------------------
> DSPecialists - Making the impossible work! >
>_____________________________________
>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/c6x
>
>Other Groups: http://www.dsprelated.com >">http://docs.yahoo.com/info/terms/