Forum: Mikrocontroller und Digitale Elektronik AT32UC3 + EVK1100: wie bekomme ich den DFU-Bootloader da wieder rein?


von Hartmut R. (Firma: Steinmann-Reinke GbR) (hartmut-reinke)


Lesenswert?

Hallo Leute,

ich versuche seit zwei Wochen, den Original DFU-Bootloader wieder in 
mein
EVK1100 zu programmieren, nachdem ich bisher immer nur mittels JTAGIce
gearbeitet habe.
Es gibt dazu etliche Anleitungen, u.a. auch das Datenblatt zum USB DFU
Bootloader von Atmel (doc7745.pdf).
Dort wird der ganze Vorgang detailliert beschrieben, die zugehörigen
Original-Hexfiles sind auch zu bekommen.
Soweit, so gut.

Die ganze Anleitung basiert auf einem Programm "avr32program.exe".
Ich habe mir also die neueste Version des Atmel Studio 6 installiert.
Bei dem gibt es nur ein Programm namens "atprogram.exe", offensichtlich
der Nachfolger.
Nach einigem hin- und her mit dem Atmel-Support bietet sich nun 
folgendes Bild:

Atprogram.exe ist grundsätzlich das richtige Tool dafür.
Ich kann mittels atprogram.exe alle 
Programmier/Schreib/lese/verify-Funktionen für alle
Speicherbereiche (Flash, Userpage, Fuses) durchführen, mit 2 Ausnahmen:
-- die Fuses lassen sich (trotz korrekter Komandozeile) nicht 
beschreiben.
   Wenn ich sie über die IDE beschreibe, kann ich sie mit der 
Komandozeile
   wieder richtig lesen.
-- wenn ich versuche, eine der 3 Versionen des (Original-) Bootloaders 
ins
   Flash zu brennen, sagt mir atprogram.exe zwar noch, dass der verify
   Ok war, aber anschließend ist das security-bit gesetzt, und der
   Bootloader funktioniert nicht.
   Lt. Aussage von Atmel tritt dieses Problem nur bei Programmieren
   mittels IDE auf, nun ja, bei mir offenbar auch mit der Komandozeile.

Ich habe dieses Verhalten in mehreren Umgebungen getestet, u.a.
-- mit einer neuen Installation Avr Studio 6 inter Win7
-- mit einer neuen Installation Avr Studio 6 inter WinXP
-- mit einem JTAGIce3 und einem JTAGIceMKII
-- mit 2 verschiedenen EVK1100-Boards
-- mein drittes Board möchte ich aus naheliegenden Gründen vorläufig
   nicht für einen Test opfern.
   Ich habe es extra angeschafft, um sicher zu gehen, dass der DFU-
   Bootloader bei mir grundsätzlich funktioniert (das tut er).
-- ich habe auch schon einen neuen AT32UC3A0512-Chip in mein Board 
gelötet.
   Anschließend ist der original.Bootloader wieder drin. Sobald ich den
   aber per Chiperase lösche, krieg ich ihn nicht mehr hinein.

Ich muss doch eigentlich davon ausgehen, dass ich nicht der erste Mensch
bin der den Bootloaders per Jtag ins Flash brennen will.

Daher Meine Frage:
-- Wer hat schon mal erfolgreich den USB DFU Bootloader programmiert,
   und wenn ja, mit welcher Ausrüstung ?
-- wer hat/hatte ein ähnliches Problem?
-- wo gibt es das avr32program.exe bzw. zu welchem Softwarepaket gehört
   das?

mfg
Hartmut

von Georg G. (df2au)


Lesenswert?

Eine komplette Lösung habe ich nicht. Aber aus "avrfreaks.net":

Well you could either program:
- using AVR Studio 5 to program (file-> new -> debug an object file or 
similar)
- or if you feel like a warrior, install AVR32 Studio 2.6 or the GNU 
toolchain 2.4.2 (eg can be found here 
http://dl.stackfoundry.org/hardware/cop ... etup.exe), then setup your 
$path to get avr32Program.exe from this install.
Make sure you don't get conflict on avr32-gcc from the multiple 
installation.

und

I have got it from Atmel's website, as they still provide the AVR32 
Studio 2.6 package (from 
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4116&category_id=163&family_id=607&subfamily_id=2138).
Did not even install it, as I got the static version for windows, copied 
the "atmel utilities" from the plugins path. Finally, append it to the 
path.

(entgegen der Aussage im Thread funktioniert der Link)

von Phil S. (zippi)


Lesenswert?

Hey, Installiere dir einfach mal AVR32 Studio. Dann das JTAG anschließen 
und es sollte Rechts unten auftauschen. Dort Klickst du drauf uns 
stellst erstmal alles unter Eigeschaften ein, gibt direkt die auswahl 
EVK1100.

Wenn du das gemacht hast, gehst du mit der Maus auf den JTAG, machst 
Rechtsklick und wählst, Program Bootloader.

Der rest sollte selbsterklärend sein.

Noch fragen?

gruß,
Zippi

von Hartmut R. (Firma: Steinmann-Reinke GbR) (hartmut-reinke)


Lesenswert?

Juchhu, das hat funktioniert.

Vielen Dank an Georg und Phil!

Hätte der Support bei Atmel ja eigentlich auch drauf kommen können...
Sieht so aus, als ob die Tools von Studio 6 noch nicht wirklich 
funktionieren. Ich werd dem netten Herrn vom Support mal einen Tipp 
geben.

Glücklicherweise hab ich auch noch ein "uraltes" JtagiceMkII.
Das Jtagice3 kennt AVR32 Studio nämlich nicht.

Einen schönen Sonntag an alle Selbstausbeuter
Hartmut

von Thomas L. (tom)


Lesenswert?

Nur mal kurz als Info weil ich auf dasselbe Problem gestoßen bin und den 
Weg über unseren Distributor gegangen bin.

Das Problem war ihnen noch nicht bekannt, jetzt haben sie's aber 
nachstellen können und als bug klassifiziert.

Wenn es jemanden interessiert: Es gibt für den UC3C einen MSC Bootloader 
der quasi an 0x80000000 geflasht wird, 32kByte groß ist und funktioniert 
(!). Dieser kann auch mit dem atprogram Tool geflasht werden (und einem 
AVRJTAGICE3) und macht keine Probleme beim Flashen. Diesen habe ich nur 
über unseren Distri bekommen (und er wiederum von Atmel), auf der 
Webseite konnte ich ihn nicht entdecken - also einfach mal nachfragen :)

lg
Tom

von Andreas X. (idtandre)


Lesenswert?

Hallo Leute,

habe Problem mit meine EVK1100 es wird die USB Schnittstelle
nicht ekannt. Kann mir jemand weiter helfen?

von Hartmut Reinke (Gast)


Lesenswert?

Hallo Andreas,

die Erkennung sollte unter folgenden Bedingungen funktionieren:

1. du hast den DFU-Bootloader noch nicht rausgelöscht (das geht aber nur 
mit einem JTAGICE o.ä.)
2. Du hast ein passendes USB-Kabel
3. Du hast die Stromversorgung auf die richtige Quelle gesetzt (LED muss 
leuchten)
4. du hast den Treiber dafür auf dem PC installiert (findet man glaub 
ich, in einem Verzeichnis der Atmel Studio-Software.
5. du hältst die mittlere Taste des Joystick auf dem EVK1100 gedrückt, 
während der Prozessor startet. Also: Reset drücken und festhalten, 
Joystick drücken und festhalten, Reset loslassen, dann sollte der PC das 
berühmte "blimblim" machen. Und nicht vergessen, auch den Joystick 
wieder loszulassen.... braucht sicher nicht mehr als eine Sekunde.

Viel Erfolg!
Hartmut

von Mario (Gast)


Lesenswert?

Hallo,

hab auch den Bootloader auf dem UC3C-EK gelöscht.
Wie bekomme ich den DFU-Bootlader wieder mit dem JTAGICE3 wieder rein.
Wo gibt es das Hex-File?

von Thomas L. (tom)


Lesenswert?


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.