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 |
|
MEM_alloc
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-----
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,
_____________________________________
_____________________________________
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/ |