mikrocontroller.net

Forum: Compiler & IDEs msp430-jtag über USB/Parallelportadapter?


Autor: Volkhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi an alle Sachkundigen!
Zuhause an meinem mit Schnittstellen wohlbestückten Desktop läuft die
Toolchain einwandfrei, ich kann compilieren und die Daten ins Flash
mittels des JTAG-Adapters an einem Parallelanschluss in meinen MSP430
schießen.
Auf meinem Notebook verfüge ich leider nicht über einen Parallelport,
sondern nur über USB. Ich hatte mir daraufhin einen
USB-/Paralleportadapter zugelegt. Dieser wird beim Anschluss ans
Notebook unter Win2k auch korrekt als Parallelport eingebunden.
Allerdings sieht mein msp430-jtag darüber nicht den MSP430.
Weiß jemand bzw. hat eine Idee, wie das zu lösen ist?

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmpf...

soetwas ist imer schwer. virtuelle com oder lpt-ports haben viele progs
probleme mit.

zur not würde ich mir ein bsl bauen und über einen virtuellen
usb-comport via eines tools einspielen.

da gabs doch einen hier im forum eine sehr bunte komerzielle seite von
einem msp-lern. der hatte ein von ihm geschriebenem freien bsl-loader
für win angepriesen. da sollte man mal nachsehen, ob das prob mit
virtuellen com-ports ( höher als pomport 4 ) zurecht kommt.

Autor: Sven Bohner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das wird wohl ein ding der unmöglichkeit...

da programme, die probleme mit virtuellen treibern haben meist auf die
hardware direkt zugreifen...

...deswegen wird bei xp auch das giveio (oder wie es genau heisst)
mitinstalliert... um direkte hardwarezugriffe zu erlauben...

für den msp430 ist das nämlich kein LPT mit den standardprotokollen
EPP/ECP sondern wird als FIFO genutzt...

usb-parallel-konverter kannst du da voll vergessen...

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du wirst nicht umhinkommen, Dir den USB-JTAG-Adapter von TI anzuschaffen
oder auf die Verwendung des Notebooks zu verzichten.

Autor: Volkhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die ernüchternden Antworten - habe mir sowas schon fast
gedacht.

@Rufus:
Ich bin mir nicht mal sicher, ob der USB-JTAG-Adapter helfen würde.
Unterstützt der MSPGCC bzw. GiveIO denn den Zugriff über USB überhaupt?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der USB-JTAG-Adapter von TI wird mit eigener Software betrieben, da ist
kein "giveio" erforderlich.

Allerdings gibt es eine vage Hoffnung, daß möglicherweise doch einige
Parallelport-Adapter per USB verwendbar sind;
der hier
http://www-user.tu-chemnitz.de/~heha/bastelecke/Ru...
beschriebene USB-Paralleladapter ist mehr als die üblichen
USB-Paralleladapter, weil er mit einem Devicetreiber daherkommt, der
direkte I/O-Zugriffe auf die I/O-Register des Parallelports abfängt und
sinnvoll umsetzt.
Das machen die üblichen Adapter nicht, und daher sollten die üblichen
giveio-Lösungen auch mit diesem Adapter funktionieren; allerdings ist
unklar, mit welcher Geschwindigkeit sie das tun mögen.

Einen Versuch ist es jedenfalls wert.


(Der Link entstammt diesem Thread hier:
http://www.mikrocontroller.net/forum/read-7-143344...)

Autor: nobody0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die Treiber für die Parallelport-Hardware meist direkt drauf
zugreifen, funktioniert meist keine USB-Adapter aber eine Karte, also
ISA, PCI oder PCMCIA.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Nobody0 - Du hast aber schon gelesen, was ich da geschrieben habe,
oder?

Autor: nobody0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber das Abfangen der I/O-Zugriffe wird beispielsweise unter
Linux/MaxOS/FreeBSD nicht funktionieren.
Mit Karten kann man die I/O-Zugriffe problemlos direkt machen.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man unter den von Dir genannten Betriebssystemen arbeitet, sollte
es kein sonderliches Problem darstellen, die jeweilige
Programmiersoftware dahingehend anzupassen, daß sie statt direkter
I/O-Zugriffe mit einem Devicetreiber kommuniziert; ich würde sogar
stark vermuten, daß sie das eh' schon machen wird.

Wieso vermutest Du, daß das Abfangen von I/O-Zugriffen unter anderen
Betriebssystemen nicht funktionieren soll? (MacOS mal ausgenommen, das
läuft auf einer Hardware, die gar keine separaten I/O-Zugriffe kennt)

Das wird es mit Sicherheit tun, sonst könnte ja eine belibige
Usermode-Applikation mit einigen wohlgemeinten I/O-Zugriffen das System
auskanten (Interruptcontroller umprogrammieren, Timer umprogrammieren
etc.).

Unter MacOS werden zwar keine I/O-Zugriffe, sondern memory-mapped-I/O
verwendet, aber auch diese Zugriffe werden abgefangen, da sonst dort
das gleiche Problem aufträte.

Also muss "nur" analog zum Windows-Devicetreiber mit
I/O-Zugriffs-abfangmöglichkeit ein Linux/BSD-Devicetreiber geschrieben
werden - durch die Veröffentlichung der Sourcen des Windows-Treibers
hat der Herr Haftmann schon viel lobenswertes getan.

Wenn die die I/O-Zugriffe machende Software nicht im Sourcecode
vorliegt, sondern festcodierte I/O-Adressen für die drei
Standard-Druckerschnittstellen enthält, können übrigens weder PCI- noch
Cardbus-/PCMCIA-Karten verwendet werden. Die nämlich legen ihre
I/O-Adressen in einen anderen Adressbereich, außerdem werden die
Adressen dynamisch zugewiesen.


Abschließend sei noch angemerkt, daß es einen Versuch wert ist,
auszuprobieren, welche Parallelport-Programmierer/-JTAG-Software mit
diesem speziellen USB-Adapter klarkommt.
Ich werde das Thema in absehbarer Zeit mit einem Arm-Wiggler und einem
AVR-ISP testen.

Autor: nobody0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem beim MSP430-JTAG-Adapter für den Parallelport ist aber, daß
da nix mit Abfangen geht, weil die Software wegen Betriebsgeheimnissen
von TI nicht open source ist.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magst Du das inhaltlich noch etwas elaborieren?
Mal angenommen, die Software macht einen I/O-Zugriff, dann ist das ein
I/O-Zugriff, ob die Software nun Horst oder Detlef heisst - und mit der
I/O-Virtualisierungsmimik lässt sich sowas von einem Devicetreiber
abfangen.
Das macht Windows übrigens schon seit Ewigkeiten; wie sonst würden
DOS-Programme mit seriellen Schnittstellen kommunizieren können? Ja,
genau, durch Virtualisierung. Die funktioniert zwar nicht sonderlich
zuverlässig, was aber eher an der grauenerregend schlechten Ansteuerung
serieller Schnittstellen durch viele DOS-Programme denn an Defiziten der
DOS-VM von Windows liegt.

Man benötigt keinen Quelltext der Software; wäre der Quelltext
vorhanden, müsste man ja keinen Aufwand mit dem Abfangen von
I/O-Zugriffen betreiben, sondern könnte die entsprechenden Stellen
einfach anpassen.

Auf der Seite des Herrn Haftmann sind die Einschränkungen seines
Treibers beschrieben, da lässt er sich über Dongle-Emulationen aus, die
mit seiner Lösung nicht möglich sind.

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.