Hallo zusammen, ich habe ein custom ATmega2560 Board und bekomme den Bootloader nicht zum laufen. Verwendet wird der [[AVR Bootloader in C - eine einfache Anleitung]] (Der "echte" Bootloader für Programme > 64k). - Die Linkereinstellung habe ich mit -Ttext=0x3E000 angepasst. - Compiler Optimization: Optimize for size (-Os) - Boot-Fuses: BOOTSZ0=0, BOOTSZ1=0, BOOTRST=1 - Die einzige Änderung ist, dass ich die F_CPU mit 14745600 angepasst habe. - Den gleichen Bootloader verwende ich bei einem ATmega644 und ATmega168PA erfolgreich. - Als Software nutze ich Atmel Studio 7 (Version: 7.0.2397). Flashe ich nun den Code auf den Microcontroller, bekomme ich keine Ausgaben. Hier sollte "Hallo hier ist der echte Bootloader\n\r" ausgegeben werden. Am Ende des Artikels AVR Bootloader in C - eine einfache Anleitung (Der "echte" Bootloader für Programme > 64k) steht, dass es zu Fehlern mit neueren Compiler bei einer Flashgröße von über 64K kommen kann. Jedoch habe ich nicht die Optimierungsoption "-fno-jump-tables" gefunden. Vielleicht kann das auch noch der Fehler sein. Ich freue mich von Euch zu hören und vielleicht habt Ihr ja einen Tipp für mich. Viele Grüße Michael
Michael G. schrieb: > Ich freue mich von Euch zu hören und vielleicht habt Ihr ja einen Tipp > für mich. In jeder mitgelieferten Arduino-IDE gibt es eine Sammlung von Bootloadern, da ist auch für dich der richtige dabei. Es sei denn du brauchst unbedingt den Kick deinen eigenen Bootloader geschrieben und compiliert zu haben, dann kann und will ich dir nicht helfen. Es gibt aber durchaus interessantere Betätigungsfelder als das eines Bootloaders für einen Mikrocontroller. Und man kramt dann auch nicht ewig in den Abgründen der Gründung eines Projekts herum.
Falls du AVRDude zum flashen benutzt, klappt das nicht. Der hat einen Bug, und kann nur bis 128kB flashen. Das gilt auch für die Version, die mit der Arduino-Version mitgeliefert wird. Oliver
Vielen Dank für deine Antwort jo mei. Ich habe selber Programme geschrieben, um über den Bootloader einfach den Code updaten zu können und würde diese auch gerne weiter verwenden, da es mit anderen Microcontrollern bisher sehr gut klappt. Da der Bootloader aus diesem Forum kommt, kann es ja sein, dass schon jemand anderes diesen Fehler erhalten hat und somit mir helfen könnte. Vielleicht ist auch nur eine Einstellung falsch gewählt. Ansonsten müsste ich für meine anderen Projekte die Bootloader ebenfalls neu aufsetzen und die Software auch ändern.
Hallo Oliver, vielen Dank für deinen Hinweis. Kennst du eventuell eine Alternative, mit der es klappen sollte? Viele Grüße Michael
Jedes andere Programmiertool, das mit deinem ungenannten Programmieradapter klar kommt. Oliver
Oliver S. schrieb: > das mit deinem ungenannten Programmieradapter klar kommt. Sein "ungenannter Programmieradapter" heisst serielle Schnittstelle.
Als Programmieradapter habe ich einen Atmel-ICE und einen AVRISP mkII. Als Programmiertool nutze ich bisher das Atmel Studio, ohne weitere eingebundenen Tools.
Oliver S. schrieb: > Falls du AVRDude zum flashen benutzt, klappt das nicht. Der hat > einen > Bug, und kann nur bis 128kB flashen. Das gilt auch für die Version, die > mit der Arduino-Version mitgeliefert wird. > > Oliver Das ist ja verwunderlich... Nein: Du siehst mich völlig verblüfft! Denn meine ATMega2560 kann ich durchaus mit AVRdude und dem Atmel ICE flashen. Auch den Bootloader. Ebenso mit dem "Arduino as ISP" und AVRdude. Keine Probleme. Mit dem USBasp allerdings nicht. Der hat in allen Versionen da einen Bug. Von Fischl bis Chinavarianten. Irgendwo gibts eine *.hex, welche den Bug nicht hat.
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.