Forum: Mikrocontroller und Digitale Elektronik Linux, avrdude, avrispmkII Programmer antwortet nicht


von Joschua C. (Gast)


Lesenswert?

Hallo

Vor kurzem habe ich mir ein myAVR Board light mit IC-Fassung, LED's, 
Summer usw. und den ISP avrispmk2 besorgt. Damit möchte ich den Einstieg 
in die Programmierung von Mikrocontrollern wagen. Dafür wollte ich 
avrdude auf meinem Linuxnotebook benutzen.

Wenn ich den ISP per USB anschließe und den ISP an das myAVR Board light 
mit Mikrocontroller ATmega8A anschließe, gibts aber folgendes Problem:


1
joschuaconrad@blauerpinguin ~ $ avrdude -C /usr/local/etc/avrdude.conf -e -c avrispmkII -P /dev/ttyUSB0 -vvvv -p m8 -U flash:w:/home/joschuaconrad/03_System/Programmierung/Mikrocontroller/Dokumentationen/tool_testprogramm_m8.hex
2
3
avrdude: Version 5.11.1, compiled on Oct 18 2011 at 21:41:15
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6
7
         System wide configuration file is "/usr/local/etc/avrdude.conf"
8
         User configuration file is "/home/joschuaconrad/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : /dev/ttyUSB0
12
         Using Programmer              : avrispmkII
13
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
14
avrdude: ser_recv(): programmer is not responding
15
avrdude: stk500v2_ReceiveMessage(): timeout
16
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
17
avrdude: ser_recv(): programmer is not responding
18
avrdude: stk500v2_ReceiveMessage(): timeout
19
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
20
avrdude: ser_recv(): programmer is not responding
21
avrdude: stk500v2_ReceiveMessage(): timeout
22
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
23
avrdude: ser_recv(): programmer is not responding
24
avrdude: stk500v2_ReceiveMessage(): timeout
25
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
26
^C

Dabei leuchtet eine Statuslampe des Programmers durchgehend rot. Beim 
Senden der Nachricht durch avrdude blinken die zwei restlichen Lampen 
einmal kurz gtün auf.

Ich weiß noch nicht einmal, ob der Programmer überhaupt richtig erkannt 
wird. Ich weiß nur, dass ich als normalo-user Zugriff auf das Device 
ttyUSB0 habe. Verschiedenen udev-regeln haben vorher auch nichts 
gebracht. Zum Beispiel habe ich mich als Besitzer des Gerätes, als 
Gruppe Users und asl Modus 0660 zugewiesen. Nichts ändert sich...

Nun zur Frage: Welche Einstellungen könnte falsch sein? Kann man den 
Timeout verzögern? Kann der Fehler vielleicht auch beim myAVR Board 
light liegen, dass ich selbst verlötet habe?

Schon mal danke

Grüße
Joschua

von holger (Gast)


Lesenswert?

>-P /dev/ttyUSB0

Unter Windows gibt man für einen Original AVR ISP MKII
dort -P usb an.

von Joschua C. (Gast)


Lesenswert?

1
joschuaconrad@blauerpinguin ~ $ avrdude -C /usr/local/etc/avrdude.conf -e -c avrispmkII -P usb -vvvv -p m8 -U flash:w:/home/joschuaconrad/03_System/Programmierung/Mikrocontroller/Dokumentationen/tool_testprogramm_m8.hex
2
3
avrdude: Version 5.11.1, compiled on Oct 18 2011 at 21:41:15
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6
7
         System wide configuration file is "/usr/local/etc/avrdude.conf"
8
         User configuration file is "/home/joschuaconrad/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : usb
12
         Using Programmer              : avrispmkII
13
avrdude: usbdev_open(): did not find any USB device "usb"

??!
Ist doch mal ein Hinweis. Ich hab auch schon oft gelesen, dass andere -P 
usb nutzen. Aber das geht bei mir eben auch nicht. Ich habe avrdude 
direkt aus dem Softwaremarkt meiner Distribution installiert. Es sollten 
dann doch alle nötigen Bibliotheken da sein. Die libusb ist jedenfalls 
da.

von g457 (Gast)


Lesenswert?

> myAVR Board light [..] avrispmk2

Bist Du sicher dass Du einen AVRISP mk2 hast (der sieht so [0] aus)? 
Falls ja wie hast Du den auf dem myAVR-light-Board angeschlossen 
(Foto!)? Oder nutzt Du den myUSBtoUART-mit-Bootloader? Wie wird das 
Brett mit Strom versorgt?

HTH

[0] reichts unten: http://www.atmel.com/tools/AVRISPMKII.aspx

von Stephan K. (stephan_k)


Lesenswert?

Du hast keine Rechte fuer den Port, wuerde ich mal sagen. Probier's mal 
als root, oder mit sudo.

von Joschua C. (Gast)


Lesenswert?

Ich hab wirklich den avrispkmII, nur ohne Gehäuse. Ich hab den extra 
dazu gekauft. Die USBtoUART-Bridge, die mit dem myAVR Board light 
mitkam, ist nicht angeschlossen. Dafür habe ich auf das Board noch einen 
sechspoligen Wannenstecker an die dafür vorgesehene Stelle aufgelötet 
(lt. Schaltplan sogar richtigrum =D), diesen mit einem 6-poligen 
Flachpandkabel mit einem ISP-Adapter verbunden (der macht aus sechs zehn 
Pole für das ISP) und dann schließlich mein ISP drangeklemmt.

Die Stromversorgung sollte dann auch durch den ISP erfolgen. 5V liegen 
auch an den richtigen Stellen an.

von Joschua C. (Gast)


Lesenswert?

Mit sudo gibts genau das gleiche Problem.

von g457 (Gast)


Lesenswert?

> avrispkmII, nur ohne Gehäuse

Wusst gar nicht, dass es den echten mit ohne Gehäuse gibt.

> sechspoligen Wannenstecker an die dafür vorgesehene Stelle aufgelötet

Ok.

> [6-Pin-zu-10-Pin-Adapter]

Hat der schon mal woanders funktioniert? Wie lang sind die Kabel? Alle 
GND angeschlossen? Könnt mich auch täuschen, aber der echte AVRISP mkII 
hat afaik einen 6-poligen Pigtail, der Adapter müsste also eigentlich 
überflüssig sein.

> Die Stromversorgung sollte dann auch durch den ISP erfolgen.

Vom Brett? Nein, das Musst Du extra versorgen. Der ISP(-Port) liefert 
nur eine Referenzspannung für den ISP-Adapter, damit der seinen 
Levelshifter anpassen kann (und erkennen kann, ob das Target 
eingeschaltet ist). Eine Versorgung des Targets über den ISP ist i.d.R. 
nicht vorgesehen.

von Joschua C. (Gast)


Lesenswert?

Der Adapter ist made bei AVR und genau für das vorgesehen, was ich mit 
ihm mache. Halt um auch Systeme mit schspoligem Anschluss nutzen zu 
können. An den überflüssigen vier liegt soweit ich weiß nur VCC an.

Und das mit der Stromversorgung wusst ich noch garnicht. Bei dem myAVR 
Board Mk2 (das myAVR Board light quasi schon mit Vorbereitung für 
AVRISPMkII und ein paar Extras) stand auf der AVR-Website, dass sich das 
ISP auch als Versorger für kleinere, nicht so Ampereintensive 
Anwendungen nutzen läst.
http://shop.myavr.de/Baus%C3%A4tze%20und%20Platinen/myAVR%20Board%20MK2,%20Bausatz.htm?sp=article.sp.php&artID=41

Bei dem Board warn Anschluss dabei, um ne 9V Block-Batterie anzuklemmen. 
Aber ist das nicht ein bisschen viel für den Controller?

von Achim M. (minifloat)


Lesenswert?

Was sagt denn lsusb?
Welche tty.*-Geräte sind im Verzeichnis /dev zu sehen?
mfg mf

von spess53 (Gast)


Lesenswert?

Hi

>Der Adapter ist made bei AVR und genau für das vorgesehen,...

Bin mir fast 100%-ig das das ein Clone ist.

MfG Spess

von g457 (Gast)


Lesenswert?

Ich les ebendort in der Kategorie 'Eigenschaften' nur

> duale Spannungsversorgung über USB oder externe Spannungsversorgung

aber (latürnich) nix von ISP. Häng doch mal den myUSBtoUART dran, der 
sollte die 5V vom USB an das Brett durchreichen. Wenn Du sonst nichts 
dranhängen hast am Brett sollte auch der Strom (vom USB) locker reichen.

Wenn sich dann noch nichts geändert hat dann mach mal ein paar schöne(!) 
Fotos vom gesamten Aufbau.

HTH

von nix und n. (nixundnul)


Lesenswert?

ganz allgemein: Ich verwende USBasp/avrdude. Es gibt das Problem, daß 
beim Anstecken des USB durch die Kondensatoren in der Betriebsspannung 
des Programmers eine Stromspitze auftritt. Insbesondere wenn das Target 
mitversorgt wird. Manche Hubs steigen da komplett aus. Direkt am PC 
angeschlossen hilft nur erneut USB abziehen und neu anstecken. Dieses 
Thema ist vom PC und vom Zufall abhängig. Anscheinend muß man da die 
Stromaufnahme des Programmers hardwareseitig begrenzen.

von Joschua C. (Gast)


Lesenswert?

Mini Float schrieb:
> Was sagt denn lsusb?

Bus 002 Device 027: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x 
Composite Device

Mini Float schrieb:
> Welche tty.*-Geräte sind im Verzeichnis /dev zu sehen?

ttyUSB0 veschwindet beim Stecker Ziehen. Alle Dateien im Ordner 
/dev/serial verweisen lediglich auf /dev/ttyUSB0

spess53 schrieb:
> Bin mir fast 100%-ig das das ein Clone ist.

Was zur Hölle ist ein Clone?

g457 schrieb:
> aber (latürnich) nix von ISP. Häng doch mal den myUSBtoUART dran, der
> sollte die 5V vom USB an das Brett durchreichen. Wenn Du sonst nichts
> dranhängen hast am Brett sollte auch der Strom (vom USB) locker reichen.

Mach ich jetzt mal. Ich muss das Ding nur eben dranklemmen...

von spess53 (Gast)


Lesenswert?

Hi

>Was zur Hölle ist ein Clone?

Ein Nachbau. Zum Teufel noch mal!

MfG Spess

von Roman (Gast)


Lesenswert?

Clone -> Klone  :-) Oder doch Clown?

von Joschua C. (Gast)


Lesenswert?

Auch mit Stromversorgung von der UART-Bridge klappts nicht. Ein Clone 
(Wieder was gelernt =D) wird's auch nicht sein, weil ich ihn direkt aus 
dem myAVR-Shop bestellt habe. Aber mal was neues:
1
avrdude: Recv: . [e0] 
2
avrdude: Recv: . [e0] 
3
avrdude: Recv: . [00]

Das hat der Programmer beim neuen Versuch eben ausgespuckt. Dann gehts 
munter weiter mit den Timeouts.

von Joschua C. (Gast)


Lesenswert?

Das Foto knn ich grad nicht hochladen. Ich muss über die GPRS-Verbindung 
von meinem Handy ins Internet und beim Hochladen von 500kb wird die 
Verbindung jedes mal zurückgesetzt...

von g457 (Gast)


Lesenswert?

> Ein Clone (Wieder was gelernt =D) wird's auch nicht sein, weil ich ihn
> direkt aus dem myAVR-Shop bestellt habe.

Wo ∗genau∗? Ich find ihn auf [0] jedenfalls nicht.

[0] 
http://shop.myavr.de/Programmer%20und%20Bridges.htm?sp=artlist_kat.sp.php&katID=16

von Joschua C. (Gast)


Lesenswert?

Jetzt hab ich auch nochmal versucht die USBtoUART-Bridge zum 
Programmieren zu nehmen:
1
joschuaconrad@blauerpinguin ~ $ avrdude -C /usr/local/etc/avrdude.conf -e -c avr910 -P /dev/ttyUSB1 -vvvv -p m8 -U flash:w:/home/joschuaconrad/03_System/Programmierung/Mikrocontroller/Dokumentationen/tool_testprogramm_m8.hex
2
3
avrdude: Version 5.11.1, compiled on Oct 18 2011 at 21:41:15
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6
7
         System wide configuration file is "/usr/local/etc/avrdude.conf"
8
         User configuration file is "/home/joschuaconrad/.avrduderc"
9
         User configuration file does not exist or is not a regular file, skipping
10
11
         Using Port                    : /dev/ttyUSB1
12
         Using Programmer              : avr910
13
         avr910_devcode (avrdude.conf) : 0x76
14
         AVR Part                      : ATMEGA8
15
         Chip Erase delay              : 10000 us
16
         PAGEL                         : PD7
17
         BS2                           : PC2
18
         RESET disposition             : dedicated
19
         RETRY pulse                   : SCK
20
         serial program mode           : yes
21
         parallel program mode         : yes
22
         Timeout                       : 200
23
         StabDelay                     : 100
24
         CmdexeDelay                   : 25
25
         SyncLoops                     : 32
26
         ByteDelay                     : 0
27
         PollIndex                     : 3
28
         PollValue                     : 0x53
29
         Memory Detail                 :
30
31
                                  Block Poll               Page                       Polled
32
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
33
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
34
           eeprom         4    20   128    0 no        512    4      0  9000  9000 0xff 0xff
35
                                  Block Poll               Page                       Polled
36
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
37
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
38
           flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
39
                                  Block Poll               Page                       Polled
40
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
41
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
42
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
43
                                  Block Poll               Page                       Polled
44
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
45
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
46
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
47
                                  Block Poll               Page                       Polled
48
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
49
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
50
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
51
                                  Block Poll               Page                       Polled
52
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
53
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
54
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
55
                                  Block Poll               Page                       Polled
56
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
57
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
58
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
59
60
         Programmer Type : avr910
61
         Description     : Atmel Low Cost Serial Programmer
62
63
avrdude: Send: S [53] 
64
avrdude: ser_recv(): programmer is not responding
65
avrdude: avr910_recv(): programmer is not responding

Diesmal hört der Prozess auch von alleine auf und sendet nicht immer 
wieder die Nachricht. Das Testprogramm, das eigentlich ab Werk auf dem 
Controller installiert sin soll und die LEDs zumindest zum leuchten 
bringen soll funktioniert aber auch immer noch nicht.

von Joschua C. (Gast)


Lesenswert?

g457 schrieb:
> Wo ∗genau∗? Ich find ihn auf [0] jedenfalls nicht.

http://shop.myavr.de/Programmer%20und%20Bridges/mySmartUSB%20MK2%20%28Programmer%20und%20Bridge%29.htm?sp=article.sp.php&artID=42

Da. Genau das Ding liegt hier uffm Tisch.

von spess53 (Gast)


Lesenswert?

Hi

>Da. Genau das Ding liegt hier uffm Tisch.

Und das ist kein original AVR ISP MKII.

MfG Spess

von Stephan K. (stephan_k)


Lesenswert?

Schreibe ich eigentlich so undeutlich?
Hast du es mal als root versucht?

von g457 (Gast)


Lesenswert?

> Da. Genau das Ding liegt hier uffm Tisch.

Das ist kein AVRISP mkII. Hätt mich auch gewundert wenns die ohne 
Gehäuse, mit 10-pin-Pigtail und CP210x Brücke gäb :-)

Das was Du hast ist ein avr910-Adapter der vom Namen her entfernt ein 
bisschen so ähnlich klingt als wie das Original.

> Hast du es mal als root versucht?

Das hat er schon und wird keinen Unterschied machen (wenn zu wenig 
Rechte dann meckert der avrdude (korrekt), dass er den Port (hier: 
ttyUSB0/1) nicht aufbekommen hat).

> Das Testprogramm, das eigentlich ab Werk auf dem
> Controller installiert sin soll und die LEDs zumindest zum leuchten
> bringen soll funktioniert aber auch immer noch nicht.

Dann würd ich erstmal dadort zum suchen anfangen (= das Brett zum laufen 
kriegen): Stromversorgung geht? Quarz schwingt? Reset korrekt?

von Joschua C. (Gast)


Lesenswert?

Stephan K. schrieb:
> Schreibe ich eigentlich so undeutlich?
> Hast du es mal als root versucht?

Ruhig Brauner...


Ich habs jetzt. Man darf den Programmer mit avrdude nur dann mit 
avrispmkII ansprechen, wenn er auch mit den dann anderen Kontakten auf 
das myAVR Board MkII aufgelötet ist. Ich hingegen muss ihn avr911 
nennen, weil ich ihn über das Flachbandkabel und den Wannenstecker 
benutze. Außerdem muss der Programmer (bzw /dev/ttyUSB0) in der Gruppe 
dialout sein. Und da muss der User natürlich auch sein. Vorher war das 
Ding aber in der Gruppe users. Jetzt klappts einfach so ohne sudo.

Das Testprogramm hat nicht funktioniert, weil es nicht drauf war. Jetzt 
blinken hier lustich die LEDs.

Der ISP fungiert übrigens wirklich als Stromversorger. Laut lsusb aber 
nicht mal mehr bis 80mA

Und jetzt:
1. Sorry, dass ich noch nichtmal den Namen des Programmers kenne
2. Sorry, dass ich zu dämlich war, um auf der Supportseite von AVR 
nachzusehen, bevor ich Fragen stelle. Ich habe mir dafür bereits 
ausgiebeig selbst ins Gesicht geschlagen =D


Und Vielen Dank für die vielen schnellen Antworten

Gruß
Joschua

von Simon K. (simon) Benutzerseite


Lesenswert?

Joschua Conrad schrieb:
> Stephan K. schrieb:
>> Schreibe ich eigentlich so undeutlich?
>> Hast du es mal als root versucht?
>
> Ruhig Brauner...
>
>
> Ich habs jetzt. Man darf den Programmer mit avrdude nur dann mit
> avrispmkII ansprechen, wenn er auch mit den dann anderen Kontakten auf
> das myAVR Board MkII aufgelötet ist.
Das halte ich für ein Gerücht. Ein AVR ISP mkII ist ein reiner 
USB-Programmer. Da gibt es keine USB to Serial Bridge.

> Ich hingegen muss ihn avr911
> nennen, weil...
Weil es einer ist! Ein serieller avr911 der an eine USB to Serial Bridge 
angeflanscht wurde.

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.