Forum: Mikrocontroller und Digitale Elektronik ATxmega128A4U Bootlaoder


von DimiFuerDali (Gast)


Lesenswert?

Moin zusammen.

Vorab: Sorry, dass ich schon wieder dieses Thema anspreche, welches 
schon bestimmt oft diskutiert wurde, doch ich benötige hier mal Eure 
Hilfe.
Habe mein erstes Projekt in C fertig und möchte nun auch den Bootloader 
implementieren, damit die Programmupdates schön über USB aktualisiert 
werden können. Habe schon ein paar Infos über den Bootloader gelesen 
z.B. AVR1316 sowie AVR1916 uvm. Allerdings fehlt mir der erste Ansatz. 
Wenn ich also die Taste festhalte (AVR1916) und mein Gerät unter 
Spannung setze, sollte theoretisch der Bootloader starten. Allerdings 
weiß ich nicht wie ich in den richtigen Bereich des Bootlaoders springen 
muss und wo er überhaupt beginnen soll… Da fehlen mir noch ein paar 
Grundlagen wie es aussieht. Ist es überhaupt möglich den komplett selber 
zu schreiben (zu Fuß), oder ist man auf die header files angewiesen.

Würde mich freuen wenn Ihr Euch für mein Anliegen etwas Zeit nehmen 
würdet.
Mfg DimiFuerDali

von Gerhard G. (g_g)


Lesenswert?

Hallo,

schau dir mal die Sache an:

http://www.chip45.com/avr_bootloader_atmega_xmega_chip45boot2.php



Gruß G.G.

von DimiFuerDali (Gast)


Lesenswert?

Moin,

das sieht ja nicht schlecht aus...
Die Programierung läuft allerdings nur über die RS Schnittstelle und das 
ist für mich erstmal ein KO Kriterium. Soll aber angeblich nachgerüstet 
werden, was allerdings einige Monate dauern kann.
Naja die andere Möglichkeit ist die Flip Software zu benutzen, aber 
dafür muss ich ertmal die Bootlaoder Routine schreiben... Und da bin ich 
wieder bei meiner ersten Anfrage s.o.

Mfg
DimiFuerDali

von Gerhard G. (g_g)


Lesenswert?

Hallo,

noch eine Seite http://www.reworld.eu/re/de/produkte/index.htm

Die haben einen Bootloader für das Anwenderprogramm "Flip" von Atmel.
Vielleicht kann man dieses Teil (ATXMEGA128A4U)auslesen?
Den ATXMEGA32A4U verwende ich mit Flip.. und das funktioniert 
ordentlich!
Irgendwo hab ich mir den original Bootloader runtergeladen und neu mit 
dem Atmel AVRISP MKII aufgespielt.

Gruß G.G.

von DimiFuerDali (Gast)


Lesenswert?

Hallo,

Oh... hast du die Bootloaderroutine selber geschrieben? Denn ich denke 
mal, dass der 32A4U sich von dem 128A4U in der Anzahl der Pages 
unterscheidet. Ansonsten müssten diese identisch sein. Verwendest du den 
Pin PC3, den du nach Masse ziehen musst + USB Anschluss, wenn du in den 
Bootloaderbereich springen willst?
Achso ok, ich sehe ich das. Du hast auch "nur" den Hexcode ausgelesen 
und bei Dir aufgespielt..?! hmmm
Na gut, dann schlafe ich nochmal ne Nacht drüber und überlege dann mal 
weiter. Allerdings wenn ich wirklich keinen Ansatz finde, kann ich es ja 
mit dem Auslesen mal ausprobieren. Ich bestelle den mal einfach ca. 27 
Euro ist ja nicht die Welt.
Ok danke erstmal!

Gruß
DimiFuerDali

von DimiFuerDali (Gast)


Lesenswert?

Moin.

Habe auf der Seite den Hex-Code für den Bootloader gefunden und den bei 
draufgespielt. Der Controller wird von dem PC erkannt! Allerdings wenn 
ich mit Flip versuche zu programmieren kriege ich am Ende volgende 
Fehlermeldung: "verify failed at address 00002h"
Bin jetzt am googlen was dies für ein fehler ist und wie ich Ihn weg 
kriege...

Gruß
DimiFuerDali

von DimiFuerDali (Gast)


Angehängte Dateien:

Lesenswert?

Hier der Fehler nochmal...

Gruß
DimiFuerDali

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Hallo Leute!
Zunächst mal zur Info zu den Bootloader-Files auf
http://www.reworld.eu/re/de/produkte/index.htm
Es handelt sich um die Original-Bootloader von Atmel, die mit 
freundlicher Genehmigung von Atmel hier zum Download angeboten werden 
(sozusagen als Service). Üblicherweise ist ein Bootloader schon 
aufgespielt, nur bei den ATXMegas nicht! Zumindest nicht beim 
ATXMega32U4, -128U4 und -256U3, die bisher geliefert wurden und auf den 
X4DIL- und X3DIL-Modulen zum Einsatz kommen. Die Module werden 
allerdings mit Bootloader ausgeliefert und auch getestet.
Ein Fehlermeldung wie beschrieben, ist dabei jedoch noch nie 
aufgetreten. Ich vermute, dass entsprechend gesetzte Fuses ein Schreiben 
des Flash verhindern. Ein "chip erase" sollte das Problem beheben. 
Danach einfach das passende Bootloader-File mit einem PDI-Programmer 
(z.B. AVRISP MKII) programmieren. Die Programmierung der 
Anwender-Firmware erfolgt über FLIP.

von DimiFuerDali (Gast)


Lesenswert?

Moin zusammen,

es funktioniert...!
Großer Dank an Rainer Reusch!
Sie werde ich auf jeden fall weiterempfehlen!

Gruß
DimiFuerDali

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
Noch kein Account? Hier anmelden.