[ECOS] Freeze with big const struct/array

gcembed gcembed@gmail.com
Thu Jan 12 13:48:00 GMT 2012


Hello,
I am using ecos (20050912 with patches from Freescales).
I have generated a const struct with an image from GIMP (with "c code 
source" filter) . Its size is 34.981 bytes (when size is 40.189 bytes it 
is also working). The board boots correctly and I can display image data 
to LCD.
If I increase image size, the structure grows up to 64.909 bytes. In 
this case, board does not boot (no ++, nothing).

Here is the structure declaration (biglogo.h) of working image :
static const struct {
   unsigned int   width;
   unsigned int   height;
   unsigned int   bytes_per_pixel; /* 3:RGB, 4:RGBA */
   unsigned char  pixel_data[94 * 124 * 3 + 1];
} biglogo = {
   94, 124, 3,
   /* All RGB data */
}

and not working
static const struct {
   unsigned int   width;
   unsigned int   height;
   unsigned int   bytes_per_pixel; /* 3:RGB, 4:RGBA */
   unsigned char  pixel_data[128 * 169 * 3 + 1];
} biglogo = {
   128, 169, 3,
   /* All RGB data */
}


8 blocks of 128KByte are erased in Flash before writing new bin file and 
verifying is also correct.

When it it working, bin file (complete builded ecos binary) has a size 
of 250.668 bytes. When it is not working, bin file has a size of 310.524 
bytes.

Is there some values in configurations files (cdl, ecm, db) where a 
memory limit is set ?
Thanks a lot for your help.
Best regards,
Gaëtan.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list