Gast
#75413
Hallo, wer kann mir denn mal auf die Sprünge helfen: ich habe ein Projekt erfolgreich mit GCC und einem ATmega162 abgeschlossen. jetzt möchte ich auf ATmega64 umsteigen. Dazu ändere ich doch lediglich den Compiler/linkeraufruf auf die neue CPU um, oder??? vorher (ATmega162): avr-gcc -g -Wall -O2 -mmcu=atmega162 -c -o ..\O\main.o main.c avr-cc ..\O\main.o -Wl,-Map=..\M\reader.map, -o ..\M\reader.elf --cref -mmcu=atmega162 avr-objcopy --debugging -O coff-avr --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 ..\M\reader.elf reader.cof Nachher (ATmega64): avr-gcc -g -Wall -O2 -mmcu=atmega64 -c -o ..\O\main.o main.c avr-cc ..\O\main.o -Wl,-Map=..\M\reader.map, -o ..\M\reader.elf --cref -mmcu=atmega64 avr-objcopy --debugging -O coff-avr --change-section-address .data-0x800000 --change-section-address .bss-0x800000 --change-section-address .noinit-0x800000 --change-section-address .eeprom-0x810000 ..\M\reader.elf reader.cof Der Effekt ist jetzt der, dass alles fehlerfrei übersetzt wird, alles schön ins studio geladen wird, ich auch schön überall durchsteppen kann. ABER::: die CPU kommt nicht mehr aus Unterprogrammen zurück, der Ret-Befehl springt stets nach 0x0000 WAS KANN DAS SEIN??? muss ich bei der Konvertierung nach COFF noch was ändern? Gruß Martin