Forum: Mikrocontroller und Digitale Elektronik STK500 mit Ubuntu 9.10 über RS232 läuft nicht


von Bernd (Gast)


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

von Robert W. (rweber)


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

von Bernd (Gast)


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

von A. F. (frankalicious)


Lesenswert?

- Auch mal als root getestet?
- Programmierstecker(ISP6PIN) ist gesteckt?

von Bernd (Gast)


Lesenswert?

Hallo

Die Stecker sind alle korrekt. Habe nix verändert. Unter Windows läuft 
alles wie es soll.

Auch als su bekomme ich den gleichen Fehler. Immer timeout :-/

Grüße
Bernd

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Bernd (Gast)


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

von Bernd (Gast)


Lesenswert?

Das Problem ist gelöst, die Ports mussten erst korrekt eingerichtet 
werden:

http://forum.ubuntuusers.de/topic/wie-krieg-ich-den-moschip-9865-installiert/#post-1957546

hat mir geholfen. Jetzt funktioniert alles.

Viele Grüße
Bernd

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.