Hallo, ich bräuchte wiedermal eure Hilfe!
Ich arbeite mit dem ATmega8535, dieser besitzt 8k Programmspeicher!
Wenn ich nun bei meinem Programm 3 Zeilen dazu schreibe, geht das Programm auf der µc-Platine nicht mehr, obwohl mir das Compiler Fenster das hier ausspuckt:
Wie man hier sieht, ist .text erst auf 6636, normaler weise müsste ich doch bis 8000 gehen können, oder??Code:> "C:\WinAVR\utils\bin\make.exe" all -------- begin -------- avr-gcc (GCC) 3.3.2 Copyright (C) 2003 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. Size before: regler.elf : section size addr .text 6564 0 .data 0 8388704 .bss 174 8388704 .noinit 0 8388878 .eeprom 0 8454144 .stab 8064 0 .stabstr 3218 0 Total 18020 C:\WinAVR\utils\bin\make.exe: *** Warning: File `protokoll.c' has modification time in the future (2006-03-13 14:53:02 > 2006-03-13 14:53:00) Compiling: protokoll.c avr-gcc -c -mmcu=atmega8535 -I. -g -O0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=protokoll.lst -std=gnu99 -Wp,-M,-MP,-MT,protokoll.o,-MF,.dep/protokoll.o.d protokoll.c -o protokoll.o Linking: regler.elf avr-gcc -mmcu=atmega8535 -I. -g -O0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=regler.o -std=gnu99 -Wp,-M,-MP,-MT,regler.o,-MF,.dep/regler.elf.d regler.o uart.o timer8.o adc.o regler_funct.o protokoll.o pwm.o --output regler.elf -Wl,-Map=regler.map,--cref -lm Creating load file for Flash: regler.hex avr-objcopy -O ihex -R .eeprom regler.elf regler.hex Creating load file for EEPROM: regler.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \ --change-section-lma .eeprom=0 -O ihex regler.elf regler.eep Creating Extended Listing: regler.lss avr-objdump -h -S regler.elf > regler.lss Creating Symbol Table: regler.sym avr-nm -n regler.elf > regler.sym Converting to AVR Extended COFF: regler.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 regler.elf regler.cof Discarding local symbol outside any compilation unit: _exp_100 Discarding local symbol outside any compilation unit: _exp_200 Discarding local symbol outside any compilation unit: table_exp Discarding local symbol outside any compilation unit: _exp_300 Discarding local symbol outside any compilation unit: _exp_200_1 Discarding local symbol outside any compilation unit: _log_10 Discarding local symbol outside any compilation unit: _log_20 Discarding local symbol outside any compilation unit: table_log 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: regler.elf : section size addr .text 6636 0 .data 0 8388704 .bss 174 8388704 .noinit 0 8388878 .eeprom 0 8454144 .stab 8112 0 .stabstr 3245 0 Total 18167 Errors: none -------- end -------- > Process Exit Code: 0
Komischer weise geht es immer dann nicht, wenn .text über 6600 springt! Warum??
.text steht doch für die Programmzeilen(COde) oder??
MFG







Zitieren
Lesezeichen