Forum: Mikrocontroller und Digitale Elektronik USBasp-Adapter


von Dietmar P. (dietmar2)


Lesenswert?

Hallo,
habe meinen USBasp-Adapter (nach Ulrich Radig) fertig aufgebaut, den 
Atmega8 sep. geflasht und eingesetzt.
ttyUSB0 hatte bei mir in den Devices fehlt, mit mknod /dev/ttyUSB0 c 188 
1 angelegt.

Wenn ich jetzt den Adapter mit dem USB-Anschluss verbinde, leuchtet auch 
die grüne Leuchtdiode.
Wenn ich jetzt aber z.B. einen Atmega32 per ISP flashen will erhalte ich 
die Meldung:
sudo avrdude -V -F -P /dev/ttyUSB0 -c USBasp -p m32 -U 
flash:w:./bin/main.hex
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 
pid=0x5dc
make: *** [flash] Fehler 1

Kann mir jemand da weiter helfen?

von Bernhard M. (boregard)


Lesenswert?

USBasp simuliert keinen COM-Port!

Das anlegen des nodes war überflüssig (sollte sowieso automatisch 
geschehen, wenn notwendig).

Einfach aufrufen mit:
sudo avrdude -V -F -P usb -c USBasp -p m32 -U flash:w:./bin/main.hex

von Dietmar P. (dietmar2)


Lesenswert?

Hallo Bernhard,

danke für die Info.

Habe es ausprobiert, leider findet er den Adapter nicht, Meldung:

sudo avrdude -V -F -P USB -c USBasp -p m32 -U flash:w:./bin/main.hex
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 
pid=0x5dc
make: *** [flash] Fehler 1

Eins habe ich aber festgestellt, die Fuses sind anders als im makefile:

avrdude: safemode: lfuse reads as E1 - sollte sein: ef
avrdude: safemode: hfuse reads as D9 - sollte sein: c9

Was habe ich denn da wieder verkehrt gemacht?

von Viktor (Gast)


Lesenswert?

> Eins habe ich aber festgestellt, die Fuses sind anders als im makefile:

> avrdude: safemode: lfuse reads as E1 - sollte sein: ef
> avrdude: safemode: hfuse reads as D9 - sollte sein: c9

> Was habe ich denn da wieder verkehrt gemacht?

Das scheinen noch die default-Einstellungen des Atmega8 zu sein. Der
auf dem USBasp eingesetzte Atmega8 sollte aber auf EF/C9 konfiguriert
werden, weil nur dann z.B. der externe Quarz zur Einstellung der
Taktfrequenz benutzt wird.

von Dietmar P. (dietmar2)


Lesenswert?

ok, danke,
aber wie mach macht das? Bin noch nicht so fit auf dem Gebiet.

von Viktor (Gast)


Lesenswert?

Gegenfrage: Womit (Programmer, Software) wurde der Atmega8 zunächst
programmiert? Von dort aus ist das Setzen der Fuses nur ein kleiner
Schritt. Was genau zu tun ist, hängt von Programmierhard- und Software
ab, siehe AVR-Tutorial und Artikel "AVR_Fuses".

Der Atmega8 des USBasp kann "in system" programmiert werden, nachdem
der entsprechende Jumper gesetzt wurde. Obacht: Je nach Programmier-
adapter muss eine externe Stromversorgung bzw. darf keine solche an
den USBasp angeschlossen werden.

von Dietmar P. (dietmar2)


Lesenswert?

Hallo Viktor,

ich muss sagen "dummerweise" habe ich auf einem Steckbrett den Atmega8 
per Parallelport (stk200 und parport0) über Avrdude geflasht. Das ging 
soweit gut. Nach dem make flash dann ein make fuses gemacht und seit dem 
schweigt er.
Wegen "dummerweise", das Flashen geht auch auf der USBasp-Platine mit 
dem Jumper JP2. Angeschlossen werden muss dann allerdings das Parallel- 
und das USB-Kabel.
Mit einem zweiten Atmega8 funktioniert das auch, nur bekommen ich dort 
einen anderen Fehler "mismatch .......".
Der erste Atmega8 lässt sich auch dort nicht ansprechen. Das bedeutet 
wohl ich habe ihn geschlachtet.

von Bernhard M. (boregard)


Lesenswert?

Nach dem Brennen der Fuses kann er nur noch angesprochen werden, wenn er 
ein Quarz hat, das auch anschwingt. Hast du das auch auf dem Steckbrett?

von Dietmar P. (dietmar2)


Lesenswert?

Ja, ich denke schon. Ich hatte einen 12 MHz-Quartz gesteckt und 2 x 22 
pF gegen GND. Es tat sich nix.
Inzwischen habe ich ihn auf die Original-Platine gesetzt, dort reagiert 
er auch nicht mehr. Wahrscheinlich habe ich ihn sogar geschlachtet.
Muss ich mir wohl einen neuen besorgen.

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.