[ECOS] Memory footprint

Emmanuel Viollet Emmanuel.Viollet@webdyn.com
Thu May 11 07:12:00 GMT 2006


Andrew Lunn a écrit :
>> $ arm-elf-size.exe a.out
>>    text    data     bss     dec     hex filename
>>   41920    1512    8028   51460    c904 a.out
>>
>> I suppose that this means the binary will be 51460Kb in size?
>>     
>                                                
> No. These are in units of bytes, not kilo bits. 51460Kb is about
> 6MBytes which makes no sense.
>   
True. In fact, 51460Kb, is closer to 50Mb... ;)
I mistyped and added a "K". My mistake!! :)
> The binary will be 41920 + 1512 bytes. You also need 8028bytes of
> statically allocated RAM. The size of the heap is not show here.
>   
OK. Thanks.
>> I am using a Phlips 2106 processor with 128Kb EEPROM and 64Kb RAM.
>> Do you think I can fit in LwIP + PPP + Zlib in this?
>>     
> zlib will be a problem. In its default configuration it will allocate
> 64Kbytes from the heap..... You can make is use less memory, but it
> will then no longer decompress data compressed with the default zlib
> configuration. So i don't recommend zlib. lwip + PPP does seems
> reasonable with 128Kb + 64Kb.
>   
I only need to compress data for gzip using zlib. I don't need to 
uncompress files coming from some other place. Do you think zlib could 
work with only 32Kb? Do you know of any other gzip compatible libraries?
>> The linker is giving me errors :
>> $ arm-elf-gcc -I../../ecos_install/include hello.c 
>> -L../../ecos_install/lib -Ttarget.ld -nostdlib
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2624c de a.out de la section .text n'est pas dans la r?gion rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2624c de a.out de la section .fini n'est pas dans la r?gion rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2aff1 de a.out de la section .rodata n'est pas dans la r?gion
>>  rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2aff4 de a.out de la section .rodata1 n'est pas dans la r?gion rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2aff4 de a.out de la section .fixup n'est pas dans la r?gion rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x2aff4 de a.out de la section .gcc_except_table n'est pas dans la 
>> r?gion rom
>> /usr/lib/gcc-lib/arm-elf/3.4.0/../../../../arm-elf/bin/ld: l'adresse 
>> 0x4001ca20 de a.out de la section .bss n'est pas dans la r?gion ram
>>
>> I'm sorry, but the error messages are in french.
>> >From what I gather, the code is too big for RAM and ROM?
>>     
>
> This should fit, so it suggests a problem with your linker script.
> Is it trying to put everything in RAM?
>
>   
The program I was trying to compile in the second part has nothing to do 
with the numbers I gave in the first part of this email.
This program contains lwIP + PPP + zlib + debug information + lots of 
other things.
I just wanted to check if the error messages I was seeing were due to 
code too large.

-- 
Emmanuel Viollet
Software engineer
Webdyn
e-mail : Emmanuel.Viollet@webdyn.com
Tel    : +33 (0)1 39 04 29 55


-- 
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