hi zusammen, ich habe ein kleines verständnisproblem bezüglich der ermittelten grössenangaben vom gcc in der text und data sektion. und zwar compiliere ich folgendes testprogramm mit dem aktuellen winavr packet. Für den at90s8515 bekomme ich folgende ausgabe vom compiler die sehr schlüssig und ordentlich aussieht. #include <avr/io.h> int main( void ) { while(1) { DDRA=oxff; } return(0); } ausgabe compiler: -------- begin -------- avr-gcc (GCC) 3.4.1 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Converting to AVR Extended COFF: wstation.cof avr-objcopy --debugging --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 -O coff-ext-avr wstation.elf wstation.cof Discarding local symbol outside any compilation unit: .do_copy_data_start Discarding local symbol outside any compilation unit: .do_copy_data_loop Discarding local symbol outside any compilation unit: .do_clear_bss_start Discarding local symbol outside any compilation unit: .do_clear_bss_loop Size after: wstation.elf : section size addr .text 96 0 .data 0 8388704 .bss 0 8388704 .noinit 0 8388704 .eeprom 0 8454144 .stab 528 0 .stabstr 1205 0 Total 1829 Errors: none -------- end -------- compiliere ich das ganze aber mit für den mega128 kommt da nur noch schwachsinn rauss: Converting to AVR Extended COFF: wstation.cof avr-objcopy --debugging --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 -O coff-ext-avr wstation.elf wstation.cof Discarding local symbol outside any compilation unit: .__do_copy_data_start Discarding local symbol outside any compilation unit: .__do_copy_data_loop Size after: wstation.elf : section size addr .data 0 8388864 .text 216 0 .bss 0 8388864 .noinit 0 8388864 .eeprom 0 8454144 .stab 528 0 .stabstr 1205 0 Total 1949 Errors: none -------- end -------- woran könnte das liegen? denn 216 bytes im sram und 0 bytes im flash kann wohl nicht ganz korrekt sein für dieses programm.
Wo siehst Du denn 216 Bytes im SRAM? Ich sehe nur 216 Bytes im ROM (.text). Du solltest Dich nicht davon verwirren lassen, daß die sections hier aus irgendwelchen Gründen andersrum angeordnet sind... Der größer ROM-Verbrauch für diese Einfachst-Applikation dürfte größtenteils (wenn nicht ausschließlich) durch die größere Interruptvektortabelle des ATmega128 begründet sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.