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
UPDATE!!! Das aufspielen des Bootloaders funktioniert nun. Ich benutzte ja, wie beschrieben, MySmartUSB ligt + avrdude. Nun habe ich das flashen noch über die Software von myAVR verwendet und der Bootloader startete sofort! Hat irgendjemand eine Idee, warum das Flashen mit avrdude (unter Linux) nicht funktioniert, unter Windows mit dem Programmer-Tool von myAVR jedoch schon? Mfg michael
UPDATE2!!! Offensichtlich besteht in AVRdude ein Fehler welcher die 2. 64k mit den 4. 64k vertauscht ( in einem anderen Beitrag wurde dieses Problem bereits festgestellt ) Somit wird der Bootloader welcher auf 3E000 sein sollte auf 1E000 gebrannt. Mfg michael
Welche Version hat Dein Avrdude? Hast Du mal eine neuere Version probiert?
Hallo, zuerst möchte ich mich für deine Antwort bedanken und mich für die sehr späte Antwort entschuldigen. Die verwendete Version von AVRDude war 5.11, diese war und ist noch immer die neueste über die Paketquellen von Linux Mint. Eine neuere Versionen kann ich nicht installieren, beim ./configure von Version 6.01 und 6.1 (http://download.savannah.gnu.org/releases/avrdude/) bekomme ich jene Ausgabe: Configuration summary: ---------------------- DON'T HAVE libelf DO HAVE libusb DO HAVE libusb_1_0 DON'T HAVE libftdi1 DON'T HAVE libftdi DON'T HAVE libhid DO HAVE pthread DISABLED doc ENABLED parport DISABLED linuxgpio libftdi1 ist jedoch installiert, libelf und libhid sind nicht als Paket vorhanden: sudo apt-get install libftdi1 Reading package lists... Done Building dependency tree Reading state information... Done libftdi1 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. sudo apt-get install libelf Reading package lists... Done Building dependency tree Reading state information... Done Package libelf is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'libelf' has no installation candidate sudo apt-get install libelf1 Reading package lists... Done Building dependency tree Reading state information... Done libelf1 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. sudo apt-get install libhid Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libhid Für weiter Versuche beziehungsweise Schlussfolgerungen fehlt mir leider das Wissen. Mfg & nochmals bitte um Entschuldigung für die späte Rückmeldung michael
Die nötigen Header-Dateien sind üblicherweise in den -dev-Paketen. Also libelf-dev ...
Hallo Dirk, vielen Dank für den Tipp, es macht ja doch alles Sinn ;) Nur leider finde ich libhid nicht in den Repos, bei libftdi1 fehlt (bei mir am PC) wahrscheinlich auch die Developer-Version, jedoch ist diese nicht (in den Repos) vorhanden. Downloads habe ich auf die schnelle nun noch keine gefunden. Besten Dank trotzdem! Mfg michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.