Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Discussion Groups

Discussion Groups | TMS320C55x | memory allocation problem

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

memory allocation problem - vikas_538 - Mar 29 8:22:24 2007



i have written mfcc code for some speech application. 
now, i need to port my code on TI320c5510 dsk. 
To avoid excess dynamic memory allocation, i have written some 
essential data in  arrays in some .h files & am including those .h 
files with the main program.
while building the program on ccs 2.21, it given following build error:
>>   error: can't allocate .cinit (sz: 0001ac6a page: 0) in PROG (avail:
            000010d4)
>>   error: can't allocate .bss (sz: 0001b5f6 page: 0) in DATA (avail: 
00007fff)
>>   error: errors in input - ./Debug/mfcccalc.out not built
can somebody suggest me, so that i can allocate the memory as required 
by the application.
thnx & regds,
Vikas



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )

Re: memory allocation problem - Jeff Brower - Mar 29 11:37:21 2007

Vikas-

> i have written mfcc code for some speech application.
> now, i need to port my code on TI320c5510 dsk.
> To avoid excess dynamic memory allocation, i have written some
> essential data in  arrays in some .h files & am including those .h
> files with the main program.
> while building the program on ccs 2.21, it given following build error:
> >>   error: can't allocate .cinit (sz: 0001ac6a page: 0) in PROG (avail:
>             000010d4)
> >>   error: can't allocate .bss (sz: 0001b5f6 page: 0) in DATA (avail:
> 00007fff)
> >>   error: errors in input - ./Debug/mfcccalc.out not built
> 
> can somebody suggest me, so that i can allocate the memory as required
> by the application.

It appears that you're adding a lot of data as global (static) arrays that need to be
initialized at run-time, and you have linker set for run-time autoinitialization. 
That would cause the .cinit section to be repeat the data, in order to initialize
your arrays in the .bss section before C code runs (you can look for function c_init
in TI documentation).

You might try allocating the arrays as .const, for example:

  int const BigData[0, 1, 2, 3, ....];

I think that may avoid c_init() initialization and cause the data to not be
duplicated.

-Jeff



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )

Re: memory allocation problem - Jeff Brower - Mar 29 11:54:37 2007

Vikas-

One additional comment:  I shouldn't have said "repeat the data" as that's not
accurate.  What's being duplicated in the case of static .bss arrays is memory space
required -- once in .bss, again in .cinit section to initialize the arrays at
run-time.  By allocating arrays in .const section, the idea is to avoid mem space
duplication.

-Jeff
-------- Original Message --------
Subject: Re: [c55x] memory allocation problem
Date: Thu, 29 Mar 2007 10:32:26 -0600
From: Jeff Brower <j...@signalogic.com>
Organization: Signalogic, Inc
To: Vikas <v...@yahoo.com>
CC: c...@yahoogroups.com

Vikas-

> i have written mfcc code for some speech application.
> now, i need to port my code on TI320c5510 dsk.
> To avoid excess dynamic memory allocation, i have written some
> essential data in  arrays in some .h files & am including those .h
> files with the main program.
> while building the program on ccs 2.21, it given following build error:
> >>   error: can't allocate .cinit (sz: 0001ac6a page: 0) in PROG (avail:
>             000010d4)
> >>   error: can't allocate .bss (sz: 0001b5f6 page: 0) in DATA (avail:
> 00007fff)
> >>   error: errors in input - ./Debug/mfcccalc.out not built
> 
> can somebody suggest me, so that i can allocate the memory as required
> by the application.

It appears that you're adding a lot of data as global (static) arrays that need to be
initialized at run-time, and you have linker set for run-time autoinitialization. 
That would cause the .cinit section to be repeat the data, in order to initialize
your arrays in the .bss section before C code runs (you can look for function c_init
in TI documentation).

You might try allocating the arrays as .const, for example:

  int const BigData[0, 1, 2, 3, ....];

I think that may avoid c_init() initialization and cause the data to not be
duplicated.

-Jeff



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )