Guten Tag, schon 3 Tage kämpfe ich mich durchs Internet um eine Lösung zu finden, bin aber nicht fündig geworden, deswegen hoffe das jemand mir vielleicht etwas helfen kann. Mein Problem, ich habe ein CPLD board, mit JTAG Anschluss, aber ohne Möglichkeit per USB dem anzuschliesen, kein Anschluss auf dem Board. Ich habe ein Rechner ohne LPT Anschluss, also habe ich eine PCI-Karte mit 2 Seriele und ein LPT Anschluss, die aber nicht erlaubt das mann die IO-Ändern (keine Jumpers oder ähnliches auf der Karte). Und ich habe ISE Xilinx WebPack. Wenn ich versuche auf dem CPLD zu brennen, findet das Programm der LPT Anschluss nicht, ich habe schon alle mögliche Einstellungen versucht, immer ohne erfogt. Was kann ich machen, gibt es die Möglichkeit unter ISE Xilinx die Portadresse vom LPT port zu ändert, die ist nähmlich nicht standard und lautet E880. Mein ATmega128 kann ich übereichenderweise flashen, ich benutze hierfür Ponyprog2000, da habe ich nur ein paar kleine Änderungen an der .ini Datei machen müssen, wenn es unter Xilinx Software auch so Einfach ist dann bitte klär mich auf, oder schreib mir bitte was man noch machen konnte. Vielleicht anderes Programm außer Xilinx zum flashen?, ich habe leider nicht ähnliches gefunden, bin leider neu in der Welt der CPLDs und FPGAs, Vielen Dank im Vorraus. Grüß.
Mein Rechner hat auch kein LPT noch nicht einmal seriel nur USB. Ich verwende zum Programmieren deshalb: Xilinx Platform Cable USB HW-USB-II (USB to JTAG) bei Trenz kostet das 211€ das ist nich gerade billig aber es funktioniert. etwas billiger ist: Digilent XUP USB-JTAG Programming Cable 67€ Das hab ich aber noch nicht ausbrobiert.
(Entschuldigung ich habe vorhin ein Neuer Eintrag aufs Versehen gemacht. Nicht absichtlich.) vielen Dank, aber der Vorschlag auf der Homepage funktionierte nicht und die Hardware ist mir zu teuer, wenn ich mir überlege das ich für die platine gerade mal die Hälfte ausgegeben habe. Gib es vielleicht die Möglichkeit das ich ein Adapter löte, mit dem Ich vom JTAG zu USB gehe, denn der JTAG ist auf der Platine schon integriert und führt heraus durch sub-D (für Drucker), von dort aus mit einem Adapter dazwischen zu USB, ist das möglich?, so das ich bei Xilinxs WebPack dann per USB mein CPLD flashen kann?. Wenn das möglich ist kann mir jemand ein Link, zu der Bauanleitung geben?, danke im Vorraus. Grüß
latin schrieb: > (Entschuldigung ich habe vorhin ein Neuer Eintrag aufs Versehen gemacht. > Nicht absichtlich.) Ich habe den überflüssigen Thread gelöscht. > Wenn das möglich ist kann mir jemand ein Link, zu der Bauanleitung > geben?, danke im Vorraus. Beitrag "Xilinx USB schematic jetzt verfügbar"
> und die Hardware ist mir zu teuer, Jeder setzt seinen Fokus anders... > wenn ich mir überlege das ich für die platine gerade mal die Hälfte > ausgegeben habe. An der falschen Stelle gespart? > Gib es vielleicht die Möglichkeit das ich ein Adapter löte, mit dem Ich > vom JTAG zu USB gehe, denn der JTAG ist auf der Platine schon integriert > und führt heraus durch sub-D (für Drucker), von dort aus mit einem > Adapter dazwischen zu USB, ist das möglich?, so das ich bei Xilinxs > WebPack dann per USB mein CPLD flashen kann?. Was willst du denn? Wozu der ganze Aufwand/Aufstand? Es gibt eine funktionierende Lösung: Das Xilinx oder das digilent USB-Kabel. Für 67 Euro kannst du sowas niemals selber basteln. Oder kauf dir in der Bucht für 5 Euro einen anderen LPT-Adapter. Wie sollte man dir denn sonst noch helfen?
Schon mal versucht im Hardwaremanager die Adresse von der Schnittstelle zu ändern?
Geht nicht, ich habe Windows 7 drauf, aber auch unter XP oder Vista, war es nicht möglich die Adresse zu ändern. Ich glaube mal hier im Forum gelesen zu haben das jemand eine PCI LPT karte hatte bei der die Prog. von CPLDs funktioniert hatte, er konnte die Karte Jumpern und so die IO-Port Adresse ändern. Ich kann das an meine PCI LPT karte nicht, die hat überhaubt keine Jumpers, vielleicht eine Software die das erledigt, oder simuliert, so das die ISE Software glaubt eine echte LPT Schnittstelle zu haben?
> war es nicht möglich die Adresse zu ändern.
Da haperts. Das geht. Wuehl tiefer im Netz...
Ansonsten gibts immer noch die Möglichkeit die Konfiguration selbst vorzunehmen, dann kann man sich die Addresse raussuchen. Sollte wirklich nicht so schwer sein...svf erzeugen, svf auslesen, daten an Addresse übertragen, fertig. Dauert vielleicht 2-3 Tage und hinterher kann man etwas und hat eine universelle Software. Ich würde dir auch meinen code zur Verfügung stellen, jedoch bin ich die nächsten Tage nicht zu Hause und mit dabei habe ich ihn nicht. Einfach mal in den xilinx app notes stöbern, da gibts eine die GENAU beschreibt wie man ein svf parsen und übertragen kann. Mehr muss man nicht wissen, alle Information zur Programmierung stehen im svf selbst. Das ist wirklich Idiotensicher. Für den Anfang ggf auch mal bei fpga4fun vorbeischauen und das Jtag tutorial durchlesen und ausprobiern (idcode auslesen usw)
Iulius schrieb: > Ansonsten gibts immer noch die Möglichkeit die Konfiguration selbst > vorzunehmen, dann kann man sich die Addresse raussuchen. > Einfach mal in den xilinx app notes stöbern, da gibts eine die GENAU > beschreibt wie man ein svf parsen und übertragen kann. Mehr muss man > nicht wissen, alle Information zur Programmierung stehen im svf selbst. Ist die XAPP 058. Aber eine ordentliche PCI Karte, die man auf 0x378 stellen kann, ist sicher ein einfacherer Weg.
Vielen Dank erstmals, Iulius ich würde mich sehr freuen wenn du mir deinen Code zur Verfügung stellst, ich bin leider kein Meister der Programmierung und mit CPLDs muss ich mich wegen Ausbindung befassen. Soll ich dir meine Email-Adresse geben oder wie kann man das am besten machen?. Wegen Adresse ändern der Karte, ging nicht, ich fand im Internet das man WindowsXP ohne ACPI installieren kann um somit die IRQs frei ändern zu können, tja, das geht nicht wenn ich ACPI auschaltet und WindowsXP (mit gedrückte f5) starte, um ohne ACPI zu installieren meldet sich irgendwann das Installationssetup mit einem HEADER Fehler Nummer 0x019 wenn ich mich nicht irre, also keine Installation möglich, vielleicht liegt das ganz am Board, das ist ein Asus Commando. Grüß.
Ich kann meinen code hier reinstellen, aber wird erst nächstes wochenende(ab 17ten) was, vorher komme ich nicht zuhause an den Rechner. (Hab leider vergessen zu Synchronisieren, mir selbst fehlen meine Projekte auch) Falls dann noch Interesse besteht poste nochmal, sonst vergess ich es eh. Natürlich ist es einfacher die Addresse zu ändern. GGf gibt es sogar andere software die die änderung erlaubt. Hast mal nach svf oder xsfv-player gegoogled ? Da kommt sicher auch irgentwas raus. Würde mich nichtmal wundern wenn es code dazu im netz gibt.
Irgendwie hoert sich das ganze kopflos an. Ich hoere immer nur "geht nicht", aber nicht, was exakt wo gemacht wurde und wo welche Fehlermeldungen auftreten. Du hast ausserdem noch nichteinmal verraten, auf welchen System das stattfindet, ich vermute aber Windows... 1. Siehst Du den Parallelport im Bios? Welcher Mode ist eingestellt? 2. Siehst Du den Parallelport im Geraetemanager? Mit welcher Addresse? 3. Sind die noetigen WinDrv Treiber geladen? Ich verweise nochmals auf die Checkliste unter http://www.xilinx.com/support/answers/15742.htm Wenn Du es schaffst, unter Windows PARVDM fuer Deinen Parallelport zu aktivieren, oder Windows automatisch PARVDM aktiviert, dann kannst Du auch XC3SPROG von Sourceforge verwenden.
1. Das Betriebssystem ist Windows 7, wobei ich auch XP installiert habe und dort auch nicht läuft. 2. Im BIOS steht nicht über parallelports, deswegen auch keine Möglichkeit Mode einzustellen, das Mainboard ist ein ASUS Commando, leider ein Gamer Board ohne com oder serial anschluss. 3. Da ich eine PCI-Karte habe mit 2 serial und 1 parallel Port und diese auch installiert habe, ist diese auch im Geräte Manager zu sehen, dort ohne probleme installiert, nur, und das ist das Problem, mit eine Adresse die nicht zu den Seriel/Parallelanschluss passt, also von Windows irgendwie virtuell vergeben, vermute wegen ACPI, der sich aber nicht ausschlaten lässt, denn dann fährt windows nicht mehr hoch. 4. Die WinDrv Treiber sind geladen. 5. Und der verweiss auf der Internetseite http://www.xilinx.com/support/answers/15742.htm habe ich schon durchgelesen und angewendet ohne erfolgt. Ich will wirklich nimandem auf die nerven gehen, wenn das wirklich nicht geht, dann bleibt mir nicht anders übrich als ein alter rechner zu kaufen und es damit versuchen, ich habe schon fast migräne vom ganzen. Trotzdem bedanke ich mich für die Interesse bisher.
> als ein alter rechner zu kaufen und es damit versuchen Du hast aber schon mal was von USB gehört? Dafür gibts von Digilent einen billigen Programmieradapter: http://shop.trenz-electronic.de/catalog/product_info.php?products_id=591&language=de Oder den: http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_114_121&products_id=589 Unterschiede bitte selber aus der Beschreibung rauslesen...
el_latin schrieb: > 3. Da ich eine PCI-Karte habe mit 2 serial und 1 parallel Port und diese > auch installiert habe, ist diese auch im Geräte Manager zu sehen, dort > ohne probleme installiert, nur, und das ist das Problem, mit eine > Adresse die nicht zu den Seriel/Parallelanschluss passt, also von > Windows irgendwie virtuell vergeben, vermute wegen ACPI, der sich aber > nicht ausschlaten lässt, denn dann fährt windows nicht mehr hoch. Egal, ob ACPI oder nicht, für PCI-Karten ist es völlig normal, dass sie Adressen irgendwo im Adressraum belegen, nicht jedoch die historischen ISA-kompatiblen Adressen. Dummerweise bietet Windows keinen generischen Parallelport-Treiber an, mit dem man ohne Kenntnis der Hardware-Details einfach x-beliebige (also nicht druckerbezogene) Ein-/Ausgaben über einen Parallelport machen kann. Noch schlimmer, es gibt nichtmal einen simplen und auf allen Windows-Versionen gangbaren Weg, um beispielsweise vom logischen Namen LPT1 auf dessen IO-Adresse schließen zu können. Been there, done that -- oder besser gesagt, wir haben mal diskutiert, sowas ins AVRDUDE (Flash-Programmierer für AVRs) einzubauen. Das Vorhaben haben wir aufgegeben, dort muss man ggf. den expliziten IO-Port auf der Kommandozeile eingeben (was natürlich ein potenzielles Sicherheitsloch ist). Da sind die aktuellen Opensource-Unixe (Linux, *BSD) deutlich besser dran: dort gibt es die Möglichkeit, über den ganz normalen Parallel- porttreiber auch Bitein-/-ausgaben zu machen, und das lässt sich sogar noch treiberseitig schön gegen die Druckfunktion verriegeln. Da ist es dann völlig Banane, welche IO-Adresse die Karte benutzt. Vielleicht findest du ja einen alten Laptop mit Parallelport, an den du deinen Programmer hängen kannst, da gibt es dann sogar noch einen Xilinx-Protokoll-kompatiblen Dämon, mit dem man via TCP programmieren kann, ohne dass man auf diesem Computer den ganzen ISE/Impact-Kram erst installieren müsste.
Hab mir mal die USB Adapter angesehen: http://shop.trenz-electronic.de/catalog/product_info.php?products_id=591&language=de http://shop.trenz-electronic.de/catalog/product_info.php?products_id=349 Das Xilinx Ding kostet ja 4 mal so viel, aber was kann es mehr ?
Michael Sauron schrieb: > Hab mir mal die USB Adapter angesehen: > > http://shop.trenz-electronic.de/catalog/product_info.php?products_id=591&language=de > > http://shop.trenz-electronic.de/catalog/product_info.php?products_id=349 > > Das Xilinx Ding kostet ja 4 mal so viel, aber was kann es mehr ? - Direkte Integration in Xilinx ISE/Impact - SPI Modus - Debugger für den MicroBlaze/PowerPC mit Xilinx EDK
@Jörg Wunsch Doch, mit \\.\$VDMLPT1 gibt es unter Win32 ein nahes Aequivalent zu /dev/parport. Schau Dir mal hamlib oder xc3sprog an, die verwenden das. Allerdings finde ich keine Dokumentation, wie man es zum Laufen bringt, wenn es nicht will. Auf den meisten Rechnern hat es mit wilden De- und Neuinstallieren des Parallelporttreibers und des PARVDM Services und vielen Neustarts geklappt...
Uwe Bonnes schrieb: > Doch, mit \\.\$VDMLPT1 gibt es unter Win32 ein nahes Aequivalent zu > /dev/parport. Hast du was genaueres? Ehrlich gesagt, ist meine Motivation, da noch Arbeit reinzustecken, relativ gering. Ich würde mir kaum freiwillig ein Windows installieren, ich weiß meine Freizeit besser totzuschlagen. :-) > Auf den meisten Rechnern hat es mit wilden De- und > Neuinstallieren des Parallelporttreibers und des PARVDM Services und > vielen Neustarts geklappt... Klingt nicht allzu Vertrauen erweckend.
Michael Sauron schrieb:
> Das Xilinx Ding kostet ja 4 mal so viel, aber was kann es mehr ?
Reicht dir nicht, dass es schöner verpackt ist und von Xilinx kommt?
1 | The XUP-USB programming cable is compatible with Xilinx’s Platform Cable USB |
@Joerg: Use the source, Joerg! Ich entwickle auf und fuer Linux. Damit aber auch Mitarbeitern mit Windows auf dem Rechner mit unseren JTAG Kabeln Bausteine programmieren koennen, brauchte ich ein Aequivalent fuer /dev/parport unter Win32. Die entscheidenen Stelle im Code sehen etwa so aus: Oeffen: ... #ifdef _linux_ ioctl (fd, PPRELEASE); close (fd); #elif defined(_FreeBSD_) close (fd); #elif defined(_WIN32_) CloseHandle((HANDLE)(fd)); #endif ... int IOParport::write_data(int fd, unsigned char data) { int status; #ifdef _linux_ status = ioctl(fd, PPWDATA, &data); return status == 0 ? XC3S_OK : -XC3S_EIO; #elif defined (_FreeBSD_) status = ioctl(fd, PPISDATA, &data); return status == 0 ? XC3S_OK : -XC3S_EIO; #elif defined(_WIN32_) DWORD dummy; status = DeviceIoControl((HANDLE)(fd), NT_IOCTL_DATA, &data, sizeof(data), NULL, 0, (LPDWORD)&dummy, NULL); return status != 0 ? XC3S_OK : -XC3S_EIO; #else return -XC3S_ENIMPL; #endif }
Interessant, Uwe. Hast du Lust, mit mir darüber auf der avrdude-dev Mailingliste mal zu diskutieren (und insbesondere mit denen, die AVRDUDE tatsächlich unter Windows benutzen)? Das wäre ja wirklich mal was, besser als dieses leidige direkte Port-IO.
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.