Hallo, ich habe ein großes Problem. Nachdem ich einige Zeit mit Atmegas und Attinys programmiert habe, wollte ich mal Xmegas ausprobieren. Ich arbeite mit AS6 und habe sonst immer einfach nur die von AS6 erstellen HEX Dateien auf den Flash geladen. Das hat für meine Zwecke gereicht. Nun hab ich mir ein kleines Xmega32A4U Board gebaut und wollte einen USB Bootloader drauf spielen. Nur ich versage total! Ich habe mir den Atmel Bootloader aus der Application Note 1916 runter geladen http://www.atmel.com/devices/atxmega32a4u.aspx?tab=documents und versucht die HEX Datei drauf zu spielen, aber es hat nicht geklappt. Der PC erkennt nichts obwohl ich PC3 auf GND gelegt habe und die HEX Datei auch fehlerfrei geflashed wurde. Die Bootloader Fuse wurde von mir gesetzt. Die PDF ist auch keine Hilfe, da die davon ausgehen, dass man es schafft selbst den Bootloader aufzuspielen... Bitte helft mir und gebt mir eine Dummy Anleitung wie ich den Bootloader aufspielen soll. Florian PS. Im Anhang ist die Application Note 1916 und die passenden Datein.
Hab gestern auch mit dem Bootloader gekämpft, aber ich wollte ihn nur mal complieren... sagt einem aber auch keiner von Atmel, dass der Bootloader für den 32A4U nicht mit GCC Compliert werden kann, weil er dann über 4kb groß ist... also muss man zum IAR greifen... so ein Käse... Naja egal, hat nichts mit deinem Problem zu tun... wenn du die fertig hex nimmst, sollte das schon funktionieren. Kann dir aus der ferne auch keiner helfen...
...ist denn das Problem jetzt den Bootloader selbst zu flashen oder ihn zu verwenden? Ich dachte letzteres, aber Du schriebst auch: "Die PDF ist auch keine Hilfe, da die davon ausgehen, dass man es schafft selbst den Bootloader aufzuspielen..." Also hast Du den Bootloader geflasht & verifiziert? Grüße Markus
Die Bootloader Hex Datei konnte ich Kompilieren. Jedenfalls hat der Compiler gesagt, dass es geklappt hat und verifiziert wurde, aber per USB tut sich halt nichts. Ein einfaches Blinkprogramm hat funktioniert :) LG, Florian
Florian Roesner schrieb: > Die Bootloader Hex Datei konnte ich Kompilieren. Jedenfalls hat der > Compiler gesagt, dass es geklappt hat und verifiziert wurde, aber per > USB tut sich halt nichts. Ein einfaches Blinkprogramm hat funktioniert > :) > > LG, > Florian Mit was kompilieren? Wie groß ist das Programm geworden? Ich dachte du hast die "rohe" Hex von Atmel probiert... So hängt es jetzt noch von deinen Compilereinstellungen ab...
Hallo, du mußt vermutlich noch die FUSE ändern. Bei BOOTRST von APPLIKATION nach BOOTLDR stellen. Gruß G.G.
Die FUSE habe ich gesetzt. Entschuldigt, ich habe mich nicht klar ausgedrückt: das Blinkprogramm habe ich kompiliert und geflashed. Den Bootloader habe ich über die Hex auf den MCU geflashed. LG, Florian
Achso, sooo hab gerade auch wieder nen längeren Kampf hinter mir... Also mit IAR lässt sich der Flip klein genug für XMega32A4U Kompalieren und flashen. Hab die Fuse eingestellt und dann hat sich schon Flip gemeldet... Konnte alles einspielen. Mein Problem war noch: Ich arbeite ohne Jumper, also wenn Flip kommt, muss ich nach ner bestimmten Zeit die vector tabelle zurückspielen und auf den programmstart springen... ist mir aber noch nicht gelungen... ich hatte immer nur Flip in der Leitung... Grüße Basti
Florian Roesner schrieb: > Die FUSE habe ich gesetzt. > Entschuldigt, ich habe mich nicht klar ausgedrückt: > das Blinkprogramm habe ich kompiliert und geflashed. Den Bootloader habe > ich über die Hex auf den MCU geflashed. Aber das .hex war das fertige von Atmel? Oder selbst übersetzt? Wenn selbst übersetzt, könnte es ja das 4k Problem geben wie von Basti schon erwähnt... Grüße Markus
> Aber das .hex war das fertige von Atmel? Oder selbst übersetzt?
Ja der .hex ist der von Atmel, da ich das andere nicht auf AS6 nicht hin
bekomme.
@Basti könntest du mir mal deine .hex geben damit ich es versuchen kann?
Wobei ich das mit dem Pin gerne machen würde, der Einfachheit wegen.
Ich hab den Bootloader drauf getan und es tut sich nichts. Der PC meldet kein neues USB gerät. PC3 auf GND hat auch nichts getan... Warum klappt das nicht :( ?
Ich hab jetzt noch nichts mit USB zum laufen gebracht nur halt led blinken lassen per PDI. Xmega_small.hex atxmega16a4u_104.hex atxmega32a4u_104.hex atxmega64a4u_104.hex Bei keinem gab es irgendwas wo sich der USB gemeldet hat.
Na dann ist doch die Wahrscheinlichkeit recht hoch, dass dein gebautes XMega U Board nicht funktioniert. Such doch lieber an anderer Stelle weiter... Grüße Basti
Ich bin mir ziemlich sicher das ich die Hardware richtig gemacht habe. Wenn jemand Lust hat kann er ja mal die Eagle Dateien ansehen. Grüße, Florian
Bist Du sicher dass Du einen neuen USB-Chip und nicht vielleicht einen älteren XMEGA ohne USB-Engine bestückt hast? Hatten wir hier schon einmal...
Ich hab das gleiche Problem: Benutze auch einen Xmega 32A4U und auch das gleiche Bootloaderpacket. Zu Testzwecken habe ich dem Bootloader auf meinen MC geflashed und anschließend wieder ausgelesen, Programm war drauf. Im nächsten Schritt habe ich der ausgelesenen Datei ein Blickprogramm eingepflanzt (der Bootloader lässt den "Applikation"-teil ja eh leer (0xFF)). Wenn ich den MC jetzt auf BOOTRST -> BOOTLDR programmiere blinkt die Led wenn ich PC3 auf Vcc ziehe (Applikation wird ausgeführt) und wenn ich ihn auf GND lege hängt sich der MC auf (so als warte er auf irgend etwas -ein Signal des PCs ?) Hat jemand eine Idee worauf der Bootloader wartet ?
Habt Ihr denn auch den Bootloader aktiviert? In der Appnote steht: External I/O condition: Tying a specific pin to ground when the part is exiting reset (POR, BOD, External Reset). The default pin can be changed re-compiling the boot loader for a specific hardware target (see Section 6.4 Customizing the boot loader) • Internal firmware request: The user application can decide to start a DFU session. This can be achieved by jumping to a specific address in the boot loader firmware. The entry point to start a DFU session initiated by a user application firmware jump is BOOT_SECTION_START + 0x1FC for all devices und etwas vorher ist eine Tabelle dass beim xmega32A4u der default pin PC3 ist. wenn man das nicht braucht/möchte, muß man die routine halt an seine bedürfnisse anpassen
>> ... wenn ich PC3 auf Vcc ziehe (Applikation wird ausgeführt) und wenn ich >> ihn auf GND lege hängt sich der MC auf ... Das hab ich soweit schon beachtet Und da die normale Applikation nicht mehr bearbeitet wird (kein blinken wenn PC3 auf GND) gehe ich mal davon aus dass der MC im Bootloader ist. Aber von da geht es anscheinend nicht mehr weiter ... warum ?
Also bei mir läuft der Bootloader. Dennoch ist er sehr zickig... Wenn man in seinem Hauptprogramm USB benutzt hat und dann zum Bootloader springt, geht gar nichts... Dann muss man nen paar Umwege nehmen... Bin gerade dran den Bootloader auf meine Bedürfnisse anzupassen, aber so richtig fruchtet es noch nicht, weil sich die Einsprungadresse wahrscheinlich ändert und ich diese dann nicht mehr wieder finde. Hat da jemand ne Idee? Dissambler für XMega habe ich noch nicht gefunden, nur für Atmega und der läuft nicht mit xmegas... Hier noch die Infos zum Bootloader: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=122461 Grüße Basti
Hallo zusammen! Bin auch an einem Atxmega Projekt und am versuchen den Bootloader von Atmel zum Laufen zu bringen. Ich weiss, dieser Thread ist schon älter, antworte trotzdem einmal, habe ein ähnliches Problem. @ Basti M. Habe irgendwo in diesem Forum gelesen, dass die Timer ausgeschalten sein müssen um in den Bootloader zu springen! Vieleicht hilft dir das, wenn du es nicht bereits gelöst hast!? Bei meinem Atxmega16A4U kann ich den Bootloader über AtmelStudio6 auf den MC spielen (via PID). Habe zudem ein "Blinker" drauf als Applikation. Schliesse ich nun die Spannung an funktioniert der "Blinker". Drücke ich den Reset Button und den Button für eine USB Verbindung mit Flip aufzubauen (übrigens bei mir PC3), geht nichts mehr (USB ist angeschlossen). ---------------------------------------- Jetzt kommt's! Schliesse ich nun den "AVRISP mk ii" an und wiederhole die Schritte zum verbinden, findet der PC ein neues USB-Device und ich kann den Treiber installieren und den MC mit Flip programmieren! Ist das bei euch auch so und vor allem WARUM könnte das sein? Gruss 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.