Forum: Mikrocontroller und Digitale Elektronik USB AVR Lab unter Mac mit avrdude funktioniert nicht


von Tobi R (Gast)


Lesenswert?

Hallo,

ich habe mir das USB AVR Lab von Ulli gekauft und bin sehr zufrieden 
damit, habe schon die Experimente erfolgreich unter Windows (in einer 
VMWare Instanz auf einem Mac) zum laufen bekommen.

Jetzt möchte ich auch gerne direkt von meinem Mac heraus programmieren. 
Ich habe mir dazu die nötige Software geladen (Crosspack, Avrdude, ...) 
und das USB AVR Lab unter Windows mit der USBasp Firmware geflasht (nach 
der Anleitung die mit dem Gerät kommt, sollte das anscheinend auch 
direkt mit avrdude gehen, da wird aber gar kein USBasp Gerät dann 
gefunden).

Unter Windows wird das Gerät jetzt auch als USBasp erkannt, interessant 
ist aber, dass sonst immer die gelbe Lampe durchgängig an ist, mit der 
USBasp Firmware ist die rote ca. 1sek an und dann geht sie aus, danach 
nichts mehr. Ist das normal?

Wenn ich jetzt auf dem Mac per avrdude daraufzugreifen will, z.B. per
1
      avrdude -p atmega8 -c usbasp -P /dev/ttys000 -U flash:w:BOOTLOADER_M8.hex:i

blinkt nur kurz die rote Lampe und dann kommt die Fehlermeldung:
1
      error: programm enable: target doesn't answer. 1

Weiß jemand was das sein könnte? Oder mache ich grundlegend was falsch?
Ich muss doch erst die USBasp Firmware draufpacken, damit avrdude sich 
überhaupt verbinden kann, oder?

Wie gesagt unter Windows und im Normalzustand kann ich ohne Probleme 
programmieren. Aber das stört halt immer nach Windows wechseln zu 
müssen.

Vielen Dank!

Tobi

von Soeren A. (abraxa)


Lesenswert?

Bist du sicher, dass /dev/ttyS000 das richtige device node ist?
Andere OSX-Benutzer verwenden /dev/cu.usbserial0 oder 
/dev/tty.SLAB_USBtoSerial - vielleicht hast du ja auch etwas 
aehnliches?\

Falls du es nicht weisst, einfach mal USB-Programmierinterface 
einstecken und via 'ls -gt /dev | head -n 10' schauen, welche device 
nodes als letzte erstellt worden sind.

von Tobi R (Gast)


Lesenswert?

Hallo,

ja ttys000 ist die letzte Node die erstellt wird, wenn das Device an den 
Usb angeschlossen wird.
Bei /dev/cu.* wird bei mir gar keine neue Node erstellt.

Ich habs auch schon mit -P usb probiert, wie in der Anleitung angegeben, 
aber da kommt die gleiche Nachricht.

von Tobi R (Gast)


Lesenswert?

Ich hab jetzt nochmal versucht einen Schreibvorgang mit -F zu forcieren.
Die Fehlermeldung ist jetzt:

avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07

Anscheinend wird das Gerät aber ja schon angesprochen, schließlich 
blinkt die LED kurz rot auf.

von Martin e. C. (eduardo)


Lesenswert?

Hallo Tobi,

wenn so ein Fehler trifft liegt nicht am Programmer (war bei mir auch so 
ABER unter Windows), der USBasp (von Ulrich Radig) hat 3 Jumper und beim 
so ein Fehler muß mann entweder Die Geschwindigkeit des Programmers mit 
JP2 reduzieren da die AVRs arbeiten im Auslieferungszustand meist mit 1 
Mhz internem Takt. Über die Fusebits lässt sich eine höhere Frequenz, 
oder ein externer Quarz, etc. aktivieren, dann kann JP2 wieder geöffnet 
werden, oder Alle Verbindungen kontrollieren: Belegung, Kabelbruch, 
Kurzschluß, Leitungslänge, ...

Gruß
Martin

von Tobi R (Gast)


Lesenswert?

Hallo,

ich habe das Lab von hier: 
http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab

Da hab ich leider keine anderen Jumper, nur einen einzigen der die 
Spannungsversorgung des Programmers auf die 10-polige Stiftleiste 
brückt.

Und das Gerät funktioniert ja auch unter Windows wenn ich nicht die 
USBavr Firmware draufspiele, also kann es doch eigentlich nicht an den 
Kabeln o.ä. liegen?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Wird der Programmer überhaupt im USBView angezeigt?
Kommt der serielle Node wirklich vom Programmer?

von Tobi R (Gast)


Lesenswert?

Also es wird im System Profiler unter USB ein Gerät am USB erkannt 
"USBavr".

Jetzt habe ich mal dmesg gestartet und erhalte nach dem Anstecken 
folgendes:

[0x3e66200] The IOUSBFamily is having trouble enumerating a USB device 
that has been plugged in.  It will keep retrying.  (Port 1 of hub @ 
location: 0x3d000000)


Aber warum?
Sorry, ich hab gerade erst angefangen mit den Mikrocontrollern, 
deswegen weiß ich noch nicht so viel.

Ich habe im Internet von Fuses gelesen, die man umstellen kann, abhängig 
von der Taktrate? Auf dem Board ist ein 12MHz Quarz. Aber nach der 
Anleitung die Christian U. dazugegeben hat, muss man überhaupt nichts in 
der Richtung ändern, um das Gerät zum laufen zu kriegen.

von Tobi R (Gast)


Lesenswert?

Natürlich meine ich nicht USBavr sondern es wird angezeigt USBasp.

von Christian U. (z0m3ie)


Lesenswert?

Hallo Tobi,

Ist etwas schwierig den Beitrag zu finden, ne Mail oder Skype ider IRC 
an mich wäre schneller gewesen ;)
So brauchts immer einige tage bis ich mal drüber stolpere.
Dein Problem ist schlicht weg das die ISP frequenz zu hoch eingestellt 
ist.
Die kannst du mit dem USB AVR Lab Tool einstellen (in deiner Windows Vm) 
und dann sollte es klappen.
Günstig ist immer ein Wert um die 125 khz herum.

lg
Christian

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.