STK500 mit Ubuntu 9.10 über RS232 läuft nicht

Gast #1650090
Lesenswert?

Hallo

Da ich von jeher für die kreativen Aufgaben lieber Linux nutze, wollte 
ich mein STK500 auf Linux zum laufen bringen (unter Windows klappt 
alles)

Das c-Plugin für Eclipse habe ich schon installiert. Alles läuft soweit 
auch gut, wird kompiliert und die .hex Datei wird ordnungsgemäß 
erstellt.

Leider schaffe ich nicht, das Programm auf den Controller zu schaufeln. 
Als Programmer wähle ich beim avrdude das STK500. Definiere ich beim 
Port extra /dev/ttyS1 folgt die Ausgabe:

avrdude: ser_open(): can't set attributes for device "/dev/ttyS1": 
Inappropriate ioctl for device

Das gleiche bis ttyS3, obwohl nix dransteckt.

Definiere ich keinen Port folgt

avrdude: stk500_2_ReceiveMessage(): timeout

Leider finde ich im Netz nur lauter Anleitungen, die das Board über 
einen Adapter mit USB verbinden. Ich besitze allerdings einen richtigen 
RS232 Anschluss. Mein Betriebssystem ist Ubuntu 9.10.

Hat irgendwer vielleicht eine Idee was ich falsch mache?

Mit freundlichen Grüßen

Bernd Peukert
#1650102
Lesenswert?

Dir ist aber bekannt, dass ttyS1 die 2. Schnitstelle ist?

Schau mal welche Schnittstellen dein Rechner kennt:

% ls -d /sys/class/tty/ttyS*
/sys/class/tty/ttyS0  /sys/class/tty/ttyS2  /sys/class/tty/ttyS4 
/sys/class/tty/ttyS6
/sys/class/tty/ttyS1  /sys/class/tty/ttyS3  /sys/class/tty/ttyS5 
/sys/class/tty/ttyS7

und ob sich die korrekte Hardware dahinter verbirgt:

% setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
% setserial -g /dev/ttyS1
/dev/ttyS1, UART: 16950/954, Port: 0xe480, IRQ: 19


Gruss,
rweber
Gast #1650390
Lesenswert?

Hallo Robert

Vielen Dank erstmal für die Antwort.

Ich hab das nachgeprüft:

bernd@bernd-desktop:~$ ls -d /sys/class/tty/ttyS*
/sys/class/tty/ttyS0  /sys/class/tty/ttyS2
/sys/class/tty/ttyS1  /sys/class/tty/ttyS3
bernd@bernd-desktop:~$ setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
bernd@bernd-desktop:~$ setserial -g /dev/ttyS1
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3

Tja mit der Ausgabe an ttyS1 kann ich nichts anfangen. Wenn ich beim 
avrdude ttyS0 nutze kommt wie gesagt der

avrdude: stk500_2_ReceiveMessage(): timeout

Bin immernoch ratlos. Muss man beim programmer noch mehr einstellen als 
den port?

Viele Grüße
Bernd
Moderator Persönliche Seite #1650444
Lesenswert?

Bernd schrieb:

> Tja mit der Ausgabe an ttyS1 kann ich nichts anfangen.

Klingt nicht wie eine normale UART.  Kannst ja ggf. in den Bootmeldungen
mal nachsehen, ob da noch weitere Informationen zu finden sind.  Diese
stehen normalerweise in /var/log/boot.log.  Ansonsten musst du deinen
Computer befragen, was er an Port 0x2f8 angeklemmt hat. ;-)

> Wenn ich beim
> avrdude ttyS0 nutze kommt wie gesagt der

Der dann sehr wahrscheinlich der richtige ist...

> avrdude: stk500_2_ReceiveMessage(): timeout

Mit welcher genauen Kommandozeile?

Für einen Test kannst du mal Pin 2 und 3 am 9-poligen RS-232-Stecker
verbinden und aufrufen
1
avrdude -c stk500v2 -P /dev/ttyS0 -p m8 -vvvv

Du müsstest dann irgendwie das Echo der Kommunikation sehen können.
Gast #1651480
Lesenswert?

Hallo

Ich hab den echo test jetzt gemacht. Es folgen wieder nur weitere 
timeouts. Leider kein Echo zu detektieren.

EIne Sache verwundert mich außerdem noch. Ich habe zwei rs232 durch eine 
pci Karte, aber setserial liefert nur bei ttys0

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

Alle anderen sind

bernd@bernd-desktop:~$ setserial /dev/ttyS1
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
bernd@bernd-desktop:~$ setserial /dev/ttyS2
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

Muss ich die Ports bei Ubuntu erst irgendwie aktivieren?

Viele Grüße
Bernd

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren