RS232-USB-Adapter mit AVRDUDE

Gast #2067465
Lesenswert?
• ▲
▼
Hallo,

ich möchte mit Hilfe von AVRDUDE über einen RS232-USB-Adapter ein 
Programm auf einen uC übertragen. Über den Parameter -P möchte ich den 
Port übergeben. Allerdings weis ich nicht unter welchem tty-File (ich 
verwende Linux) sich der Adapter versteckt. Kann man das mit irgend 
einem Befehl oder Programm herausfinden? Der Adapter selbst scheint 
jedenfalls erkannt zu werden. Der Befehl lsusb -v gibt nähmlich unter 
anderem folgendes aus:
1
Bus 006 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
2
Device Descriptor:
3
  bLength                18
4
  bDescriptorType         1
5
  bcdUSB               1.10
6
  bDeviceClass            0 (Defined at Interface level)
7
  bDeviceSubClass         0 
8
  bDeviceProtocol         0 
9
  bMaxPacketSize0        64
10
  idVendor           0x067b Prolific Technology, Inc.
11
  idProduct          0x2303 PL2303 Serial Port
12
  bcdDevice            3.00
13
  iManufacturer           1 Prolific Technology Inc.
14
  iProduct                2 USB-Serial Controller
15
  iSerial                 0 
16
  bNumConfigurations      1
17
  Configuration Descriptor:
18
    bLength                 9
19
    bDescriptorType         2
20
    wTotalLength           39
21
    bNumInterfaces          1
22
    bConfigurationValue     1
23
    iConfiguration          0 
24
    bmAttributes         0x80
25
      (Bus Powered)
26
    MaxPower              100mA
27
    Interface Descriptor:
28
      bLength                 9
29
      bDescriptorType         4
30
      bInterfaceNumber        0
31
      bAlternateSetting       0
32
      bNumEndpoints           3
33
      bInterfaceClass       255 Vendor Specific Class
34
      bInterfaceSubClass      0 
35
      bInterfaceProtocol      0 
36
      iInterface              0 
37
      Endpoint Descriptor:
38
        bLength                 7
39
        bDescriptorType         5
40
        bEndpointAddress     0x81  EP 1 IN
41
        bmAttributes            3
42
          Transfer Type            Interrupt
43
          Synch Type               None
44
          Usage Type               Data
45
        wMaxPacketSize     0x000a  1x 10 bytes
46
        bInterval               1
47
      Endpoint Descriptor:
48
        bLength                 7
49
        bDescriptorType         5
50
        bEndpointAddress     0x02  EP 2 OUT
51
        bmAttributes            2
52
          Transfer Type            Bulk
53
          Synch Type               None
54
          Usage Type               Data
55
        wMaxPacketSize     0x0040  1x 64 bytes
56
        bInterval               0
57
      Endpoint Descriptor:
58
        bLength                 7
59
        bDescriptorType         5
60
        bEndpointAddress     0x83  EP 3 IN
61
        bmAttributes            2
62
          Transfer Type            Bulk
63
          Synch Type               None
64
          Usage Type               Data
65
        wMaxPacketSize     0x0040  1x 64 bytes
66
        bInterval               0
67
Device Status:     0x0000
68
  (Bus Powered)

bin für jede Hilfe dankbar!
Moderator Persönliche Seite #2067472
Lesenswert?
• ▲
▼
1
% dmesg | grep ttyUSB
2
usb 1-4.1: FTDI FT232BM Compatible converter now attached to ttyUSB0
3
usb 1-4.2: FTDI FT232BM Compatible converter now attached to ttyUSB1
4
FTDI FT232BM Compatible ttyUSB0: FTDI FT232BM Compatible converter now disconnected from ttyUSB0
5
FTDI FT232BM Compatible ttyUSB1: FTDI FT232BM Compatible converter now disconnected from ttyUSB1
6
usb 1-4.1: FTDI FT232BM Compatible converter now attached to ttyUSB0
7
usb 1-4.2: FTDI FT232BM Compatible converter now attached to ttyUSB1
8
FTDI FT232BM Compatible ttyUSB0: FTDI FT232BM Compatible converter now disconnected from ttyUSB0
9
FTDI FT232BM Compatible ttyUSB1: FTDI FT232BM Compatible converter now disconnected from ttyUSB1

mr08b002 schrieb:

> Der Adapter selbst scheint
> jedenfalls erkannt zu werden. Der Befehl lsusb -v gibt nähmlich unter
> anderem folgendes aus:

Das heißt allerdings nur, dass die USB-Hardware ihn erkannt hat,
nicht jedoch, dass dafür auch wirklich bereits ein Treiber installiert
worden ist.

Ich hoffe mal, dass du nicht gerade versuchst, einen "Bitbang"-Adapter
zum Programmieren zu benutzen ...
Gast #2067514
Lesenswert?
• ▲
▼
Danke,

der Adapter wird jetzt anscheinend mit dem Port ttyUSB0 verbunden zu 
werden:
1
[ 1388.634514] usb 6-1: pl2303 converter now attached to ttyUSB0
2
[ 3355.000466] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
3
[ 3764.321293] usb 6-1: pl2303 converter now attached to ttyUSB0

beim Aufruf von AVRDUDE mit dem Befehl
1
avrdude -p m8 -P ttyUSB0 -c stk500 -U flash:w:main.hex:a

kommt allerdings immer noch folgende Fehlermeldung:
1
avrdude: ser_open(): can't open device "ttyUSB0": No such file or directory
Gast #2067564
Lesenswert?
• ▲
▼
Habs damit auch versucht. Der uC scheint aber nicht antworten zu können.
1
sudo avrdude -p m8 -P /dev/ttyUSB0 -c stk500 -vvvv -U flash:w:main.hex:a
2

3
avrdude: Version 5.5, compiled on Jul  5 2010 at 19:25:10
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5

6
         System wide configuration file is "/opt/cross/etc/avrdude.conf"
7
         User configuration file is "/root/.avrduderc"
8
         User configuration file does not exist or is not a regular file, skipping
9

10
         Using Port            : /dev/ttyUSB0
11
         Using Programmer      : stk500
12
avrdude: Send: 0 [30]   [20] 
13
avrdude: Send: 0 [30]   [20] 
14
avrdude: Send: 0 [30]   [20] 
15
avrdude: ser_recv(): programmer is not responding
16
avrdude: stk500_recv(): programmer is not responding
17
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
Moderator Persönliche Seite #2067666
Lesenswert?
• ▲
▼
mr08b002 schrieb:
> Nein es ist kein echter STK500.

Was macht dich dann glauben, es könnte sich in irgendeiner Form
wie ein STK500 verhalten?

> Es ist eine nachgebaute Funktion von
> http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm.

Oh Gott! (*)

> Unter WinAVR
> konnte ich aber schon erfolgreich damit programmieren.

Das widerspricht sich: "unter WinAVR" gibt's zum Programmieren auch
nur AVRDUDE, du müsstest es also nur mit gleichen Parametern benutzen.
Damals hast du ganz sicher nicht "-c stk500" geschrieben.

(*) Das ist genau die Sorte "Bitbang"-Programmieradapter, die ich oben
erwähnt habe, wahrscheinlich "-c ponyser" in AVRDUDE.  Aber im Ernst,
sowas willst du hinter einem USB-RS232-Wandler nicht benutzen, selbst
falls du es tatsächlich irgendwie zum Laufen bekommen solltest.  Am
USB gibt's nämlich die gute alte RS232-Schnittstelle nicht mehr in
ihrer ursprünglichen Form, sondern all das wird fein säuberlich in
USB-Rahmen eingewickelt — und von diesen überträgst du pro
Millisekunde genau einen.  Jedes Setzen eines Bits, jedes Löschen
eines Bits, jedes Abfragen eines Bits — eine Millisekunde.  Das wird
schweeeeeeeeiiiiiineeeeeelaaaaaahm.  Bestenfalls dafür geeignet, einem
etwas intelligenteren Programmieradapter seinen Bootloader
reinzuprogrammieren oder sowas, wo es nicht drauf ankommt, ob es mal
'ne Viertelstunde länger dauert.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.