mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmer zum laufen bringen


Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir bei Ebay folgenden Programmer bestellt:
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&ssPag...

Dort steht dass man mit avrdude ihn ansprechen kann. Dort ist keine 
Beschreibung mit enthalten, wie ich das Ding über avrdude anspreche.

Der Programmer wird von lsusb erkannt.
Bus 002 Device 011: ID 16c0:2a9b VOTI

Ich muss dazu sagen, dass ich hier unter Linux arbeite.

Aber wie spreche ich ihn an?

Grüße

Michael

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Treiber installiert nen virtuellen COM-Port. In AVRdude muss dann 
die vergebenen Portnummer und das STK500v2 als Programmer ausgewählt 
werden.

Autor: Walter Tarpan (nicolas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach mit "Herr Programmer".

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter welcher Deviceadresse wird dieser dann angemeldet?

Lshal sagte mir, dass ich ihn eventuell auf /dev/2-6 finden würde, aber 
fehlanzeige.

avrdude: ser_open(): can't set attributes for device "/dev/2-6": 
Inappropriate ioctl for device
root[michael]# avrdude -c stk500v2 -p m8
avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": 
Inappropriate ioctl for device

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. wrote:

> Lshal sagte mir, dass ich ihn eventuell auf /dev/2-6 finden würde, aber
> fehlanzeige.
>
> avrdude: ser_open(): can't set attributes for device "/dev/2-6":

Auch als absoluter Linux Laie, kann ich mir nicht vorstellen, dass es da 
ein Device namens "2-6" geben wird.
Was ich mir aber eher vorstellen kann ist, dass das installierte Device 
entweder

   /dev/com2          oder
   /dev/com3          oder
   /dev/com4          oder
   /dev/com5          oder
   /dev/com6

heißt. Für 'com' die unter Linux gebräuchliche Abkürzung für einen 
seriellen Port einsetzen.

Schlimmsten falls einfach mal ins /dev Verzeichnis reinschauen und nach 
Devices suchen, deren Name nach 'Abürzung für serieller Schnittstelle' 
klingt oder deren Datumseintrag neuer ist.

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Virtuelle serielle USB-Ports heissen

/dev/ttyUSB0
/dev/ttyUSB1

usw, im Gegensatz zu den "echten" COM-Ports

/dev/ttyS0
/dev/ttyS1
...

Also mal nach /dev/ttyUSB0 suchen.

hth,
Olli

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erst einmal vielen Dank für eure Hilfe.

Ich habe nun ein tty gefunden, das erstellt wird, wenn ich den 
Controller anschließe.

Jetzt habe ich noch nichts zum Programmieren dranhängen und bekomme 
folgende Fehlermeldung:

root[michael]# avrdude -P /dev/ttyACM0 -c stk500v2 -p m8

avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Ist das normal oder sagt mir das, das ich immer noch die Falsche Adresse 
habe?

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. wrote:

> avrdude: stk500v2_command(): command failed
> avrdude: initialization failed, rc=-1
>          Double check connections and try again, or use -F to override
>          this check.

> Ist das normal oder sagt mir das, das ich immer noch die Falsche Adresse
> habe?

Das ist nicht normal. "Adresse" ist der falsche Ausdruck, es handelt 
sich hier um ein Device.

Gibt es kein /dev/ttyUSB0?

Wahrscheinlich ist stk500v2 die falsche Programmer-ID. Versuch mal 
stk500 oder stk500v1.

Olli

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher könnte es denn sein?

Valid programmers are:
  c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts 
[/usr/etc/avrdude.conf:791]
  dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts 
[/usr/etc/avrdude.conf:778]
  dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts 
[/usr/etc/avrdude.conf:765]
  siprog   = Lancos SI-Prog [/usr/etc/avrdude.conf:752]
  ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr 
miso=cts [/usr/etc/avrdude.conf:739]
  frank-stk200 = Frank STK200 
[/usr/etc/avrdude.conf:704]
  blaster  = Altera ByteBlaster             [/usr/etc/avrdude.conf:691]
  ere-isp-avr = ERE ISP-AVR  [/usr/etc/avrdude.conf:681]
  atisp    = AT-ISP V1.1 programming cable for AVR-SDK1 from 
<http://micro-research.co.th/>  [/usr/etc/avrdude.conf:671]
  dapa     = Direct AVR Parallel Access cable 
[/usr/etc/avrdude.conf:660]
  xil      = Xilinx JTAG cable              [/usr/etc/avrdude.conf:647]
  futurlec = Futurlec.com programming cable. [/usr/etc/avrdude.conf:630]
  abcmini  = ABCmini Board, aka Dick Smith HOTCHIP 
[/usr/etc/avrdude.conf:620]
  picoweb  = Picoweb Programming Cable,  [/usr/etc/avrdude.conf:610]
  sp12     = Steve Bolt's Programmer        [/usr/etc/avrdude.conf:599]
  alf      = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ 
[/usr/etc/avrdude.conf:583]
  bascom   = Bascom SAMPLE programming cable [/usr/etc/avrdude.conf:573]
  dt006    = Dontronics DT006               [/usr/etc/avrdude.conf:563]
  pony-stk200 = Pony Prog STK200 
[/usr/etc/avrdude.conf:551]
  stk200   = STK200                         [/usr/etc/avrdude.conf:535]
  bsd      = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ 
[/usr/etc/avrdude.conf:524]
  pavr     = Jason Kyle's pAVR Serial Programmer 
[/usr/etc/avrdude.conf:516]
  dragon_dw = Atmel AVR Dragon in debugWire mode 
[/usr/etc/avrdude.conf:509]
  dragon_hvsp = Atmel AVR Dragon in HVSP mode 
[/usr/etc/avrdude.conf:501]
  dragon_pp = Atmel AVR Dragon in PP mode    [/usr/etc/avrdude.conf:493]
  dragon_isp = Atmel AVR Dragon in ISP mode 
[/usr/etc/avrdude.conf:485]
  dragon_jtag = Atmel AVR Dragon in JTAG mode 
[/usr/etc/avrdude.conf:477]
  jtag2dw  = Atmel JTAG ICE mkII in debugWire mode 
[/usr/etc/avrdude.conf:469]
  jtag2isp = Atmel JTAG ICE mkII in ISP mode [/usr/etc/avrdude.conf:461]
  jtag2    = Atmel JTAG ICE mkII            [/usr/etc/avrdude.conf:453]
  jtag2fast = Atmel JTAG ICE mkII            [/usr/etc/avrdude.conf:445]
  jtag2slow = Atmel JTAG ICE mkII            [/usr/etc/avrdude.conf:437]
  jtagmkII = Atmel JTAG ICE mkII            [/usr/etc/avrdude.conf:429]
  jtag1slow = Atmel JTAG ICE (mkI)           [/usr/etc/avrdude.conf:422]
  jtag1    = Atmel JTAG ICE (mkI)           [/usr/etc/avrdude.conf:414]
  jtagmkI  = Atmel JTAG ICE (mkI)           [/usr/etc/avrdude.conf:406]
  avr911   = Atmel AppNote AVR911 AVROSP    [/usr/etc/avrdude.conf:400]
  avr109   = Atmel AppNote AVR109 Boot Loader 
[/usr/etc/avrdude.conf:394]
  butterfly = Atmel Butterfly Development Board 
[/usr/etc/avrdude.conf:388]
  usbtiny  = USBtiny simple USB programmer, 
http://www.ladyada.net/make/usbtinyisp/ [/usr/etc/avrdude.conf:382]
  usbasp   = USBasp, http://www.fischl.de/usbasp/ 
[/usr/etc/avrdude.conf:376]
  avr910   = Atmel Low Cost Serial Programmer 
[/usr/etc/avrdude.conf:370]
  stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode 
[/usr/etc/avrdude.conf:364]
  stk500pp = Atmel STK500 V2 in parallel programming mode 
[/usr/etc/avrdude.conf:358]
  stk500v2 = Atmel STK500 Version 2.x firmware 
[/usr/etc/avrdude.conf:352]
  stk500v1 = Atmel STK500 Version 1.x firmware 
[/usr/etc/avrdude.conf:346]
  stk500   = Atmel STK500                   [/usr/etc/avrdude.conf:340]
  avrisp2  = Atmel AVR ISP mkII             [/usr/etc/avrdude.conf:330]
  avrispmkII = Atmel AVR ISP mkII 
[/usr/etc/avrdude.conf:324]
  avrispv2 = Atmel AVR ISP V2               [/usr/etc/avrdude.conf:318]
  avrisp   = Atmel AVR ISP                  [/usr/etc/avrdude.conf:312]

Ich werde aus der Ebaysedite nicht schlau, welcher es sein wird? Stk500 
wird da genannt, also müsste es doch das Ding sein oder?

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Es gibt kein ttyUSB0, etc.

Anmerkung: Ich habe bisjetzt keinen Controller zum Programmieren 
angeschlossen. Kann es sein, dass die Fehlermeldung dann normal ist?

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, STK500 bzw. STK500v1 nimmt er nicht:

root[michael]# avrdude -P /dev/ttyACM0 -c stk500 -p m8
avrdude: stk500_recv(): programmer is not responding
avrdude: successfully opened stk500v2 device -- please use -c stk500v2

avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

root[michael]# avrdude -P /dev/ttyACM0 -c stk500v1 -p m8
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
root[michael]#

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. wrote:

>   stk500v2 = Atmel STK500 Version 2.x firmware
>   stk500v1 = Atmel STK500 Version 1.x firmware
>   stk500   = Atmel STK500                   [/usr/etc/avrdude.conf:340]

Einer von denen?

> Ich werde aus der Ebaysedite nicht schlau, welcher es sein wird? Stk500
> wird da genannt, also müsste es doch das Ding sein oder?

Noe, da steh was von stk500v2. Die man-Page von avrdude hat dazu auch 
noch was beizutragen:

"Atmel’s STK500 programmer is also supported and connects to a serial 
port.  Both, firmware versions 1.x and 2.x can be handled, but require a 
different programmer type specification (by now)."

Olli

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. wrote:
> Nachtrag: Es gibt kein ttyUSB0, etc.
>
> Anmerkung: Ich habe bisjetzt keinen Controller zum Programmieren
> angeschlossen. Kann es sein, dass die Fehlermeldung dann normal ist?

BITTE? JA KLAR! Einen Controller musst Du schon anschliessen...

Olli

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, nun geht es! Tausend Dank! Luftsprünge machen

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. wrote:
> Danke, nun geht es! Tausend Dank! *Luftsprünge machen*

Kein Problem, ich habe auch schon Naechte mit avrdude und seltsamen 
Programmieradaptern verbracht :-)

Olli

Autor: Olli R. (omr) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerde aber nicht als root mit dem avrdude arbeiten.

Einmal ein falsches Device angegeben, schon passieren schlimme Dinge 
(Festplatte platt, Raumstation explodiert, etc).

Lieber als unprivilegierter User arbeiten.

Evtl. klappt das allerdings auf Grund von mangelnden Rechten nicht auf 
Anhieb. Dann mal schauen, wem das Device gehoert:

z.B.:

ls -al /dev/ttyACM0

crw-rw---- 1 root dialout 188, 0 2009-03-05 16:23 /dev/ttyACM0

In dem Fall gehoert es root und der Gruppe dialout, und beide duerfen 
drauf schreiben. Nun musst Du nur noch Mitglied der Gruppe dialout 
werden, als root:

addgroup username dialout

Und Dich neu einloggen.

Olli

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.