Gast
#5500981
Hallo allerseits, ich programmiere momentan eine Bootloaderanwendung für einen AT32UC3C0512C (auf der Arbeit als Werkstudent, daher darf ich keinen Code teilen). Der Bootloader erhält an sich ein Hex-File und schreibt dieses in den Flash. Das funktioniert soweit auch ohne Probleme. Das Hex-File entnehme ich direkt aus Atmel Studio 7. Innerhalb des Hex-Files ist mir aber ein Addresssprung aufgefallen: :085B400091260E9CCC7ED822B8 :105C0000C0080000C0080000C0080000C008000074 Wenn ich das Programm also über den Bootloader (mit dem Hex-File) in den Flash schreibe fehlen an dieser Stelle Zeilen und im Flash stehen dann nur 0xF's (Grundzustand des Flashs). Programmiere ich den Flash aber mittels JTAG (also komplett ohne Bootloader) wird in den Zeilen Code eingefügt. Programmiere ich den Flash nun wieder über den Bootloader und füge die Zeilen manuell ein, funktioniert das Programm ohne Probleme (ansonsten natürlich nicht). Ich Frage mich jetzt woher der Code kommt. Ich finde in keinem Output-File Informationen über diese Zeilen, nur das die darauf folgenden Zeilen (ab Adresse 0x5C00) die Exceptions enthalten. (Linker benutze ich keine in meinem Programm) Daher meine Fragen: 1) Woher könnte der Code kommen? 2) Darf ich zur Programmierung mit dem Bootloader evtl. nicht das Hex-File verwenden? 3) Wie kann ich meinen Bootloader so anpassen, dass der Code miteingefügt wird? (Dafür müsste ich natürlich wissen woher er kommt) Ich hoffe ihr könnt mir helfen, ich komme dabei nicht weiter. Mit freundlichen Grüßen Boot_Prog