Gast
#567137
Einen schönen guten Tag an die Gemeinde. Ich schreibe derzeit einen bootloader für den atmega128. Mit dem Linker-Kommando (-Wl,--section-start=.text=0x0f000) habe ich den Code inklusive der Interruptvektoren auch an die entsprechende Stelle im Flash schieben können. Die Fuse-Bits sind alle richtig gesetzt und IVCE und IVSEL sind auch entsprechend gesetzt. Wenn ich nun den Code simuliere bekomme ich ständig die Meldung falscher Opcode an Adresse 0xf000. Im Atmel lande ich auch in einer Endlosschleife. Bei genauerer Betrachtung des Hexfiles sollte diese Meldung auch stimmen, da die Jumps in den Interruptvektoren alle irgendwie nach 0x7846 springen und da steht kein Code. Hier mal ein Ausschnitt meiner Hexdatei: :10 F000 00 0C94 4678 0C94 6378 0C94 6378 0C94 6378 31 :10 F010 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 04 :10 F020 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 F4 :10 F030 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 E4 :10 F040 00 0C94 6378 0C94 6378 0C94 8C78 0C94 F878 16 :10 F050 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 C4 :10 F060 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 B4 :10 F070 00 0C94 6378 0C94 6378 0C94 6378 0C94 6378 A4 :10 F080 00 0C94 6378 0C94 6378 0C94 6378 1124 1FBE FD :10 F090 00 CFEF D0E1 DEBF CDBF 11E0 A0E0 B1E0 E8E9 05 :10 F0A0 00 F6EF 00E0 0BBF 02C0 0790 0D92 A830 B107 49 :10 F0B0 00 D9F7 14E0 A8E0 B1E0 01C0 1D92 A230 B107 79 :10 F0C0 00 E1F7 0C94 6578 0C94 0078 CF93 DF93 CDB7 7B Was mache ich beim Compilieren falsch bzw. welchen Optionsschalter muss ich noch setzen, damit die Adressen in den Jumps stimmen. Ich verwende derzeit das AVR-Studio in der Version 4.13 und den AVR-GCC in der Version 4.1.1. Vielen Dank schon mal für Eure Hilfe Nico