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 ;)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.