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?
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.
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...
Du wirst nicht umhinkommen, Dir den USB-JTAG-Adapter von TI anzuschaffen oder auf die Verwendung des Notebooks zu verzichten.
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?
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/Rund%20um%20den%20PC/USB2LPT/ 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.html#160628)
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.
@Nobody0 - Du hast aber schon gelesen, was ich da geschrieben habe, oder?
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.