Hey Leute! Ich suche einen USB-Bootloader der in den 2k-Bootblock vom Mega16U4 passt. Ich hab hier ein OpenKubus-Stick von embedded projects mit eben diesem Controller in dem ich dummerweise den Bootloader überschrieben hab. Kein Problem dachte ich erst weil ich ja sowieso was mit LUFA drauf machen wollte, nehm ich halt Dean's DFU-Bootloader, nur passt der leider nicht in die 2k die der 16U4 für den Bootloader zur Verfügung stellt. Und scheinbar hat Atmel den originalen Bootloader von der Webseite genommen (wenn er da mal war, was ein anderer Post mit Verweis auf ein Hexfile "bl_usb_16U4.a90" aber bestätigt). Jedenfalls gibts bei Atmel nicht mehr das Original und ich hab nirgendwo einen Ersatz finden können, weiss hier vielleicht jemand Rat? Irgendjemand hat doch hoffentlich noch das Original wo rumliegen? Oder das gleiche Problem gehabt und einen anderen USB-Bootloader für den 16U4 gefunden? Bin für jeden Hinweis dankbar! Gruss Simon
Mein Fehler, war wohl schon zu spät am abend. Natürlich passt der Bootloader aus dem LUFA-Framework in den Mega16U4, der hat ja genau wie der Mega32U4 2048 WORDS (also 4kB) Platz für den Bootloader. Das hab ich übersehen. Leider bekomme ich ihn trotzdem nicht zum laufen. Unter Windows bekomme ich nur ein "USB-Gerät nicht erkannt". Hat dazu vielleicht jemand eine Idee? Die Fuses hab ich soweit überprüft, ich hoffe ich hab mich da nicht durch die mehrfache Invertierung selber verwirrt. Die Fuses sind: EXTENDED 0xFB (Default bis auf BOD=2,6V) HIGH 0x98 (Default bis auf BOOTRST, zum testen immer den Bootloader starten) LOW 0xC2 (int. RC, keine Ausgabe, nicht durch 8 teilen) Hab ich da ein Fehler drin? FLIP 3.3.4 hab ich installiert, also sollte der DFU-Treiber ja wohl vorhanden sein wenn sich der Mega als DFU-Gerät meldet. Ich weiss inzwischen einfach nicht mehr weiter, wahrscheinlich seh ich den Wald vor lauter Bäumen nicht... Achso, ich programmiere auf WinXP aus AVR-Studio 4.16b638 heraus mit Ulli's AVR-Lab das ein STK500-Programmer an COM2 simuliert. Das Target ist von Embedded Projects das OpenKubus (gibts nicht mehr) mit Mega16U4.
Aaaalso, noch ein Fehler gefunden. Es war wirklich schon zu spät. An dem Code für den DFU-Bootloader sollte man ja nichts ändern müssen, aber natürlich das Makefile anpassen. Dort muss man die Startadresse des Bootloaders angeben. Soweit, sogut. Allerdings muss man die in BYTES nicht in WORDS angeben. Aber immer noch "USB-Gerät nicht erkannt", nur dauert es jetzt viel länger bis das kommt. Das wird hier sowas wie eine Fehlersammlung zum Troubleshooting hab ich das Gefühl.
So, Problem gelöst. Selbes Problem wie hier: Beitrag "AVR USB - atmega32u2 - bootloader?" Ähnlicher Lösungsweg, nur hier ganz als Monolog... Am Ende war der Fehler irgendwo in der LUFA-Bibliothek, der 16U4 meldete sich immer mit VID=0000 und PID=0000, da kann das System ja nicht schlau draus werden. Der Fehler ist außerdem in der aktuellen Version LUFA101122 die als Paket zum download steht drin! Per SVN die aktuellste Version (1651) geholt und schon geht es auch. Hoffentlich hilft es irgendjemand weiter!
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.