Forum: PC Hard- und Software Atmel ATm32U4DFU ohne tty unter Ubuntu 13.10


von MadmoB (Gast)


Lesenswert?

Hallo zusammen!

Mein breakout (Atmel Mega32u4) bereitet mir seit einigen Tagen 
Kopfzerbrechen.

Unter Windows mit den Treibern und nem brauchbaren Terminalemulator ist 
alles wie es sein soll, unter Ubuntu verweigert es mir allerdings die 
Kooperation.

Nach dem ich das Board über USB (usb-serial converter) an den Rechner 
angeschlossen habe und mit "dmesg|tail" nach dem rechten schaue, zeigt 
sich schonmal der Ansatz:

usb 3-1: new full-speed USB device number 7 using uhci_hcd
usb 3-1: New USB device found, idVendor=03eb, idProduct=2ff4
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 3-1: Product: ATm32u4DFU
usb 3-1: Manufacturer: ATMEL
usb 3-1: SerialNumber: 1.0.0

Erkennung ja, aber keine tty zugewiesen

"dmesg|grep tty" fördert folgendes zu Tage:

console [tty0] enabled
00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
cdc_acm 1-4:1.1: ttyACM0: USB ACM device
cdc_acm 1-4:1.3: ttyACM1: USB ACM device
cdc_acm 1-4:1.9: ttyACM2: USB ACM device

auch hier kein Hinweis auf irgendeine Zuweisung

"modprobe usbserial vendor=0x03eb product=0x2ff4" bleibt auch 
Ergebnislos



Vielleicht kann mir jemand hier den entscheidenden Tipp geben ;)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Der DFU ist eine "vendor specific class", da bekommst du kein Terminal
dafür.

Kannst du AVRDUDE aus dem SVN bauen?  Ich habe gerade vor ein paar Tagen
den Code für FLIPv2 (hatte jemand anders beigesteuert, der ist für die
Xmegas) eingecheckt und davon dann FLIPv1 abgeleitet (AT90USB*, 
ATmega*U*).

Allerdings ist FLIPv1 ein teilweise sehr eigenwilliges Protokoll, 
weshalb
ich in der Doku auch ein paar Sätze dazu hinterlassen habe.  Wenn der
Bootloader aktiviert wird, klebt er erst einmal in einem "security 
mode".
In diesem Modus kannst du nichts machen außer die Konfiguration zu lesen
(die bei den AVRs dafür benutzt wird, dass man das Äquivalent der
Signature ermitteln kann).  Danach musst du erst einmal unbedingt einen
"chip erase" anwerfen, erst danach kommst du an die Speicherbereiche
heran (Flash und EEPROM).  Witzigerweise wurde der EPROM aber bei meinem
AT90USB1287 nicht gelöscht.

Um das Übel komplett zu machen, lässt sich nach dem chip erase dann
oftmals die Signatur nicht mehr korrekt lesen, sondern ergibt 3 x 0xff.
(Manchmal klappt es aber, keine Ahnung, wovon das abhängt.)  Musst du
dann avrdude ... -F nehmen, um den Signaturcheck abzuschalten.

Solange du normal nur avrdude -c flip1 -p atmega32u4 -U filename.elf
anwirfst, wirst du von alldem übrigens gar nicht so viel merken, denn
ein -U zum Beschreiben des Flashs impliziert ohnehin ein vorheriges
chip erase.

von MadmoB (Gast)


Lesenswert?

Hi Jörg!

Danke erstmal für die schnelle Hilfe!
Dann werd ich mir mal einen passenden code schmieden ;)

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.