Gast
#3504427
Guten Abend, Ich spiele mich nun schon stundenlang mit einem Arduino Mega Board (mit ATmega2560), welcher 256KiB Flash-Speicher besitzt. Verwendete Software/Hardware: -MySmartUSB-Light (ISP-Programmer) -Eclipse (mit avr-gcc plugin) -avrdude Mein Problem: Ich möchte einen Bootloader für das Board schreiben, aber sobald ich den Bootloader mit -Ttext (als Linkerargument) über 0xFFFF hebe, wird dieser nicht mehr aufgerufen. Die Fuses: lfuse: 0xff hfuse: 0xd8 efuse: 0xfd (http://www.engbedded.com/fusecalc) Lockbyte(s): 0x3f --> nichts gesperrt Weiteres: Wenn ich den Flash-Speicher Auslese (mit avrdude über ISP) ist bis auf den Bootloader der ganze Speicher leer (das sollte doch so sein!?). Die Addresse in RAMPZ wird richtig gesetzt (:020000040004F7) und der Bootloader beginnt im Speicher an der gewünschten Addresse (:20E00000) mit 8192 Bytes Bootloadergröße. Ich habe das Board über die Schule gekauft und dort hat ein Lehrer von mir bereits einen Bootloader aufgespielt. Bevor ich mit etwaigen flashes begonnen habe, habe ich mir den kompletten Flash-Speicher gesichert und habe festgestellt, dass beim Bootloader des Lehrers auch am Speicherbeginn (0x00000) Daten sind. Lösche ich diese, wird auch dieser Bootloader nicht mehr aufgerufen. Ich würde mich freuen, wenn mir jemand sagen könnte was ich tun muss um den Bootloader aufzurufen. Falls irgendetwas unklar ist oder irgendwelche weiteren Daten erforderlich sind, lasst es mir bitte wissen. Mit freundlichen Grüßen, Michael