Hallo, Liste!
Ich entwickel zur Zeit ein Programm für einen µC (ATMega128). Bisher habe ich immer VI, make und avr-gdb benutzt. Es funktioniert, ist aber sicher nicht das "allerbequemste"...
Ich habe gestern zufälligerweise ein Plugin für Eclipse gefunden, um Programme für AVR zu entwickeln/debuggen und sieht es wirklich sehr schon und bequem aus.
Das Problem ist, daß die Platine mit dem Mikrokontroller nicht an dem Rechner angeschloßen ist, wo ich Eclipse habe, sondern an einem alten Laptop (auf dem ich sicher kein Eclipse installieren kann/will) und es wäre sehr aufwändig die Platine an meinem PC zu verbinden, auch weil die Platine einen Roboter steuert, der überall laufen kann (also, ich kann kein 50mt Kabel haben...).
Aber, um den Mikrokontroller zu programmieren und Debug-Session zu starten brauche ich avrdude, bzw. avarice, und die schicken ihre Daten über /dev/parport0 bzw. /dev/ttyUSB0.
Selbstverständlich haben sie ein Parameter mit dem ich eine andere Port nutzen kann, aber das Problem ist immer die Daten von einem PC zu einem anderen zu schicken...
Ich habe irgendwo (vor viele Zeit!) gelesen, daß es geht ein /dev/ttySXX über TCP zu nutzen, kann aber mich nicht mehr erinnern wie und wo ich diese Artikel gefunden habe.
Das Problem ist, ob ich das gleiche auch mit dem parallelen Schnittstelle machen kann (ttyUSB0 ist sowieso seriell) und wie.
Kann jemand mir einen Tipp geben, wie ich diese zwei Blockgeräte über Netz nutzen kann?
Vielen vielen Dank! Luca Bertoncello (lucabert@lucabert.de)
On Tuesday 24 February 2009 08:31:45 Luca Bertoncello wrote:
Hallo, Liste!
...
Ich habe irgendwo (vor viele Zeit!) gelesen, daß es geht ein /dev/ttySXX über TCP zu nutzen, kann aber mich nicht mehr erinnern wie und wo ich diese Artikel gefunden habe.
Seriell über TCP: mir unbekannt. TCP über seriell: man pppd (Keine Angst, ich kann im Bedarfsfall weiterhelfen. Habe ich schon gemacht.)
Das Problem ist, ob ich das gleiche auch mit dem parallelen Schnittstelle machen kann (ttyUSB0 ist sowieso seriell) und wie.
TCP über parallel: mir unbekannt, dürfte aber möglich sein. (eher eine größere Verdrahtungs- und Einstellungsfrage)
Vielen vielen Dank! Luca Bertoncello (lucabert@lucabert.de)
Gruß! Bernhard
Bernhard Schiffner bernhard@schiffner-limbach.de schrieb:
Seriell über TCP: mir unbekannt. TCP über seriell: man pppd
Tja, was nutzt mir TCP über seriell? Ich muß Daten über einer serielle Schnittstelle schicken, die nicht an meinem PC liegt, nicht ein Netz über RS232 machen... :)
TCP über parallel: mir unbekannt, dürfte aber möglich sein. (eher eine größere Verdrahtungs- und Einstellungsfrage)
Genau das gleiche. Es hat mit meinem Problem nix zu tun!
Trotzdem danke für deine Antwort! Luca Bertoncello (lucabert@lucabert.de)
On Tuesday 24 February 2009 09:37:33 Luca Bertoncello wrote:
Bernhard Schiffner bernhard@schiffner-limbach.de schrieb:
Seriell über TCP: mir unbekannt. TCP über seriell: man pppd
...
Genau das gleiche. Es hat mit meinem Problem nix zu tun!
Trotzdem danke für deine Antwort! Luca Bertoncello
Entschuldigung bitte!
Dann wird's wohl schwer.
Verstehe ich das jetzt richtig, daß der Debugger (o.ä.) Zugriff auf /dev/* verlangt, die lokal nicht verfügbar sind?
IHMO gibt es unter Linux keine (bzw. nur sehr eingeschränkte) Möglichkeiten, devices "remote" zu nutzen. Das liegt vermutlich daran, daß die ioctls für das jeweilige Interface nicht umleitbar sind.
Plan9 soll das wohl besser machen. Nie probiert ...
Bernhard
Hej *,
Luca wrote:
Aber, um den Mikrokontroller zu programmieren und Debug-Session zu starten brauche ich avrdude, bzw. avarice, und die schicken ihre Daten über /dev/parport0 bzw. /dev/ttyUSB0
Über wessen Schnittstellen?
AVR-Board ---(seriell|paralle Schnittstelle)--- Laptop
Sieht die bisher verwendete Variante so aus?
Aber, um den Mikrokontroller zu programmieren und Debug-Session zu starten brauche ich avrdude, bzw. avarice,
Sind das Deamons, die auf dem Rechner laufen, an dem die Kabel vom AVR angestöpselt werden (erstmal grundsätzlich)?
Bernhard Schiffner bernhard@schiffner-limbach.de wrote:
Das Problem ist, ob ich das gleiche auch mit dem parallelen Schnittstelle machen kann (ttyUSB0 ist sowieso seriell) und wie.
TCP über parallel: mir unbekannt, dürfte aber möglich sein. (eher eine größere Verdrahtungs- und Einstellungsfrage)
Geht problemlos. Braucht nicht mal einen pppd o.ä.
Allerdings ist es für TCP über (seriell, parallel) notwendig, dass beide Seite ein gemeinsames Protokoll sprechen. Ich bezweifel leider, dass das AVR-Board im Debug-/Programmiermodus das anbietet.
Viele Grüße Fabian
Fabian Hänsel fabtagon@gmx.de schrieb:
Über wessen Schnittstellen?
AVR-Board ---(seriell|paralle Schnittstelle)--- Laptop
Also, nochmal (ich muß definitiv mein Deutsch verbessern...):
Ich habe eine Platine mit dem ATMega128. Der ATMega128 hat eine RS232, die ich an /dev/ttyS0 (auf dem Laptop) angeschloßen habe. Diese nutze ich um Daten zu tauschen zwischen mein Hauptroboterprogramm auf dem Laptop und die Platine. MUSS NICHT weitergeleitet werden.
Dann habe ich einen sogenannten "Programmer", angeschloßen auf dem Laptop an /dev/parport0, mit dem ich den µC programmiere. Diese Port (/dev/parport0) soll weitergeleitet werden.
Dazu habe ich einen "Debugger", angeschloßen an /dev/ttyUSB0, mit dem ich den Debug des Programm machen kann. Auch diese Port will ich weiterleiten.
Ich will KEIN TCP/IP-Netz zwischen meinem PC und der µC bauen, es wäre sowie für meine Zwecke sinnlos. Ich will nur /dev/ttyUSB0 und /dev/parport0 über TCP freischalten, so daß ich die Programmierung und der Debugging des Programmes auf dem µC von meinem PC mit Eclipse machen kann...
Hilmar Preusse hat mir ser2net vorgeschlagen. Es sollte genau machen was ich will, habe aber über anderen Quellen socat gefunden:
http://www.dest-unreach.org/socat/doc/socat-ttyovertcp.txt
Ein Test zwischen mein PC auf Arbeit (ohne serielle Schnittstelle) und mein PC zu Hause (mit einem Modem an /dev/ttyS0 angeschloßen) war erfolgreich. Ich konnte minicom auf meinem BüroPC starten und die Befehle an das Modem zu Hause schicken. WUNDERBAR!
Also, das Export vom /dev/ttyUSB0 ist definitiv machbar (und der Debugging mit Avarice auch)!
Ich werde heute Abend probieren, ob das Programm auch mit /dev/parport0 funktioniert (sollte aber, da ich nur einen BlockDevice als Parameter für socat gebe) und dann sollte ich auch die Programmierung mit avrdude möglich sein.
Auf gutem Deutsch (wie gut mein Deutsch ist, wollen wir nicht prüfen :D) ich habe mein Problem gelöst!
Vielen Dank für eure Antworten!
Luca Bertoncello (lucabert@lucabert.de)
Hallo Luca,
Also, nochmal (ich muß definitiv mein Deutsch verbessern...):
Dein Deutsch ist in Ordnung - du hast es nur nicht genau genug beschrieben für jemanden, der mit AVR nicht näher vertraut ist (wie mich).
Die sprachlichen Fehler, die du noch machst, machen weniger grammatik- und rechtschreibfixierte deutsche Muttersprachler auch immer mal wieder }:-> Da brauchst du dir keine ernsthaften Sorgen zu machen. Ich finde das auch schön, dass du dein Deutsch weiter trainieren willst und hier postest statt dir eine italienische oder englische Liste zu suchen, was wohl die einfachere Option wäre.
Viele Grüße Fabian
On 24.02.09 Luca Bertoncello (lucabert@lucabert.de) wrote:
Moin,
Ich habe irgendwo (vor viele Zeit!) gelesen, daß es geht ein /dev/ttySXX über TCP zu nutzen, kann aber mich nicht mehr erinnern wie und wo ich diese Artikel gefunden habe.
Keine Ahnung, obs Dir hilft: es gibt ser2net. Das öffnet einen TCP-Port auf dem Rechner mit dem seriellen Interface. Wenn man den Port kontaktiert, wird man auf das Interface weitergeleitet.
H.
lug-dd@mailman.schlittermann.de