mikrocontroller.net

Forum: FPGA, VHDL & Co. XC3sprog mit FT2232H


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mit einem FT2232H einen XPROM von Xilinx beschreiben.

Ich habe ADBUS0, ADBUS1, ADBUS2 und ADBUS3 (TCK, TDI, TDO und TMS) mit 
dem Daisy Chain von XPROM verbunden.

Wenn ich den FT2232H als Digilent emuliere, dann kann ich mit IMPACT den 
XPROM von Xilinx beschreiben. Demnach ist alles richtig angeschlossen


Nun möchte ich jedoch nicht IMPACT benutzen sondern XC3sprog. Zudem 
möchte ich XC3sprog unbedingt mit der D2XX.dll verwenden.

Der FT2232H wird auch im Device Manager angezeigt.

Ich habe XC3sprog wie folgt ausgeführt:

XC3sprog -c ftdi -j -L

COULD NOT FIND USB DONGLE 0403:0610

Ich habe nachgeschaut mein FTDI FT2232H besitzt als Vendor ID die 0x0403 
und als Product ID die 0x0610.

Es sind auch keine anderen Geräte am Notebook angeschlossen.

Ich verwende den FTDI Treiber 2.8.23.0

WIRD DER FT2232H VON FTDI DENN ÜBERHAUPT UNTERSTÜTZT?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende ein Win7 64Bit Betriebssystem und die r401 Version von 
XC3sprog.

Wenn ich die Datei devlist.txt öffne dann steht dort kein Virtex 5 drin, 
obwohl auf der Internetseite steht das auch Virtex 5 FPGAs unterstützt 
werden. Zudem ist die Version ja schon von 2009 gibt es denn nicht 
aktuelles?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe aus diesem Link eine neuere Version gefunden:

Beitrag "xc3sprog: falscher IDCODE"

Dabei handelt es sich um die Revision $625

Damit erkennt er meine JTAG Daisy Chain und findet folgende Xilinx ICs:

Position 0: XCF32P
Position 1: XC5VLX30T

Und dies auch ohne die USBLIB sondern nur mit der D2XX.dll

NUR LEIDER FINDE ICH AUF DER SOURCEFORGE KEINE AKTUELLE VERSION NUR DIE 
VON 2009

Autor: Andy K. (notandy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, überprüfe mal deine caps-lock Taste, die scheint in unregelmäßigen 
abständen festzustecken. -_-

D2XX Treiber gibts direkt von FTDI:

http://www.ftdichip.com/Drivers/D2XX.htm

[EDIT] Und falls ich mich verlesen habe und dir die libusb fehlt:

http://sourceforge.net/projects/libusb-win32/files/

Grüße,

Andy

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will aber nicht die libusb verwenden sondern die D2XX. Ich habe 
bereits den Treiber von FTDI installiert.

Es funktioniert einfach nur nicht mit der XC3SPROG Revision 401. Denn 
diese ist von 2009 und kann den FTDI Chip nocht nicht kennen. Die 
aktuelle Version 659 gibt es hier:

http://xc3sprog.svn.sourceforge.net/viewvc/xc3sprog/trunk/

Dann kann ich auch den FTDI FT2232H mit dem D2XX verweden. Ich habe 
momentan nur Probleme mit dem SVN :-)

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte aus dem nachfolgendem Link die XC3sprog Revision $625 
heruntergeladen. Diese erkennt auch meine beiden ICs in der JTAG Daisy 
Chain

Beitrag "xc3sprog: falscher IDCODE"

Wenn ich jedoch aus dem Soureforge Trunk die aktuelle Revision $659 
herunterlade, dann kann ich nicht das FTDI Device öffnen. Zudem wird die 
Revision $655 angezeigt.


Was mich ja wundert ist das die Revision $625 nur 0,3MByte groß ist 
während die Revision $659 gleich 5MByte groß ist, diese aber denn doch 
nicht funktioniert.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine (ungetestetes) Crosscompilat von Rev 709 nach Sourceforge 
hochgeladen. Am besten kompiliert man aber selbst aus den SVN Quellen. 
FTD2XX ist gegen der i-386 DLL aus  CDM 2.08.24 WHQL Certified.zip 
gelinky.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK dann werde ich mal die neue 2.08.24 WHQL runterladen.

Ich komme leider nicht mit dem SVN auf die Seite. Benötigt man einen 
Sourceforge Account zum runterladen?

Kann ich mit folgenden Befehl mein msc File in den Xilinx Prom 
schreiben?

xc3sprog -c ftdi -L test.mcs

Ignoring unknown field '0'
Ignoring unknown field 'F'

zurück

Ich werde mal den neuen Treiber runterladen

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich habe jetzt die FTDI Treiber Version 2.08.24 installiert.

Mit der Rev 709 kann ich auch wieder die JTAG Daisy Chain erkennen. 
Jedoch noch nicht das File in den Xilinx XCF32P schreiben

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal den Parameter -e ausprobiert. Damit wird der XCF32P 
gelöscht. Er macht etwas das dauert so ca 20 Sekunden. Jedoch erscheint 
keine Info auf dem Display das gerade der XCF32P gelöscht wird und das 
dieser Prozess noch andauert. Wenn er fertig ist erhalte ich auch keien 
Rückmeldung ob dies erfolgreich war. Dies könnte man noch verbessern.

Zudem gibt es kein Log-File

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
xc3sprog -c ftdi -v test.mcs:w::MCS
muesste gehen. Die Kabeldefinition "ftdi" schaltet aber keine 
eventuellen Treiber zwischen dem FTDI JTAG Ausgaengen und dem JTAG Bus 
ein. Die meisten Kabel haben einen geschalteten Treiber und brauchen 
daher eine eigenen Definition in cablelist.txt. Viele Kabel sind aber 
schon definiert.

Ausserdem oeffnet obige Kabeldefinition alles was VID 0x403 und PID 
0x6010 hat. Das kann auch ein USB-Seriell Wandler sein, wenn er zuerst 
gelistet wird. Andere Kabel haben meist andere PID oder zumindestens 
andere Strings zur Unterscheidung.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo UWE

ich kann doch den -s Parameter für die Serien Nummer benutzen oder den 
String Parameter, so kann ich sicherstellen das ich immer den richtigen 
FTDI Chip verweden.

Wenn ich Deinen Befehl benutze dann wird der Flash zuerste gelöscht. Es 
wird dann auch angezeigt das er gerade arbeitet. Wenn der Flash gelöscht 
wurde wird dies auch angezeigt. Auch die Zeit wie lange er für das 
Löschen gebraucht hat wird angezeigt.

Danach schaltet er in den Programming Mode und scheint den Flash zu 
beschreiben dies dauert jedoch recht lange, da die Frequenz auf 1,5MHz 
eingestellt ist. Bei einem 32MBit Flash dauert dies halt.

ES GIBT JEDOCH NOCH EIN PROBLEM:

Es wird angezeigt das die Checksumme in dem mcs File fehlerhaft ist

"incorrect record checksum found in mcs file"

Autor: Sebastian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Warum wird denn da für Progrmming frames und Verifying Frames ein 
unterschiedlicher Speicherbereich angezeigt?

Und warum werden keine Probleme mit der Checksumme angezeigt?

Auf jedenfall schon mal viele Dank für Deine Hilfe UWE

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es wird außerdem die Revision $691 angezeigt obwohl dies doch die 
Revision $709 sein soll.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe -J 10000000 die JTAG Frequenz auf 10MHz eingestellt. Jedoch 
wird immer noch eine JTAG Frequenz von 1,5MHz angezeigt.

Dadurch dauert das Flashen über 6 Minuten bei einem 32Mbit XCF32P

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Revision $691

Das ist die SVN Revision des xcs3prog.cpp files. Wenn jemand einen 
besseren Vorschlag hat, bitte...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benötigt man nur das mcs-file oder wird auch das cfi-file benötigt. 
Impact schreibt ja zum Beispiel die Checksumme in das cfi-file.

Ich habe bis jetzt nur das mcs-file in den Ordner von xc3sprog kopiert

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst Du die JTAG Geschwindkeit vom FTDI Chip noch beschleunigen. Diese 
ist nur auf 1,5Mbit eingestellt. Dies geht locker mit 10 oder 15Mbit. 
Nur leider bringt es nichts wenn ich den Wert verändert. Dies hat leider 
keinen Einfluss.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Ich habe -J 10000000 die JTAG Frequenz auf 10MHz eingestellt. Jedoch
> wird immer noch eine JTAG Frequenz von 1,5MHz angezeigt.
>
> Dadurch dauert das Flashen über 6 Minuten bei einem 32Mbit XCF32P

Nicht -H Bausteine koennen maximal 2 MBaud, aber mit besch.ss.n.r 
Kurvenform. 1500k ist die Obergrenze. In cablelist.txt ist auch eine 
Obergrenze angegeben, fuer 'ftdi' 1500k.  Steht auch oben im Ausdruck. 
Selbst mit MSPPE des FTDI gibt es noch viel Overhead, 100 k/s ist doch 
dann gar kein schlechter Wert.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Kannst Du die JTAG Geschwindkeit vom FTDI Chip noch beschleunigen. Diese
> ist nur auf 1,5Mbit eingestellt. Dies geht locker mit 10 oder 15Mbit.
> Nur leider bringt es nichts wenn ich den Wert verändert. Dies hat leider
> keinen Einfluss.

'ftdi' kann FT2232L oder FT2232H sein. VID/PID sind gleich, die 
Unterscheidungsmerkmale liegen viel tiefer. Also Begrenzung auf 1500k, 
die der FT2232L noch vernünftig kann. Abhilft:Eigenes Kabel definieren, 
und wenn es verbreitet ist, eine Patch senden.

Der Die H Bausteine koennen zwar bis 8000 k vernünftig, aber falls 
häufig schlägt auch die USB Latenzen beim umschalten zwischen Schreiben 
und lesen zu. Dann hilft blosse Übertragungsgeschwindigkeit auch nichts.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber es gibt inzwischen schon 3 "H" Modelle mit bis zu 30MBit

MPSSE.Multi-Purpose Synchronous Serial Engines (MPSSE), capable of 
speeds up to 30 Mbits/s, provides flexible synchronous interface 
configurations.

Daher ist es schade wenn man 6 Minuten warten muss um ein mcs File in 
den Xilinx PROM zu schreiben.

Kannst Du nicht eine Version kompilieren wo die Grenze auf 15MBit 
eingestellt wird.

Ich habe leider keine cablelist.txt in dem entpacken Ordner gefunden. 
Und ich habe mit diesem Compiler noch nie ein Projekt compiliert.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Benötigt man nur das mcs-file oder wird auch das cfi-file benötigt.
> Impact schreibt ja zum Beispiel die Checksumme in das cfi-file.
>
> Ich habe bis jetzt nur das mcs-file in den Ordner von xc3sprog kopiert

Es geht auch nur mit dem Bitfile oder auch mit einem Bin File. Du musst 
halt mit den Adressen aufpassen. Ich habe noch nie einen XCFxxP 
verwendet, der Algorithmus ist von jemand anderen. Ein Blick in die 
Quellen und das SVN log hilft vielleicht weiter.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Ich habe leider keine cablelist.txt in dem entpacken Ordner gefunden.
> xc3sprog
...
   -D        Dump internal devlist and cablelist to files

Dann die Liste anpassen und wenn xc3sprog im gleichen Verzeichnis liegt, 
wird die angepasste Datei verwendet.Ich habe leider keine cablelist.txt 
in dem entpacken Ordner gefunden.

> Und ich habe mit diesem Compiler noch nie ein Projekt compiliert.

Ich nehme gerne Patches für andere Compiler an...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Frequenz für den FTDI von 1,5MHz auf 15MHz angepasst. Jetzt 
dauert der Downloader anstelle von 6 Minuten nur noch 3 Minuten.

Ich hätte jedoch ca 37 Sekunden erwartet.

Ich werde es noch mal mit 30MBit versuchen.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich auf 30MBit stelle benötigt er genauso viel Zeit. Demnach 
scheint noch die Handbremse angezogen zu sein.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe Bonnes schrieb:
> Das ist die SVN Revision des xcs3prog.cpp files. Wenn jemand einen
> besseren Vorschlag hat, bitte...
Evtl. kannst Du svnversion verwenden um die Revisionsnummer zu 
erzeugen:
~/xc3sprog$ svnversion
709

Duke

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Wenn ich auf 30MBit stelle benötigt er genauso viel Zeit. Demnach
> scheint noch die Handbremse angezogen zu sein.

Das mit dem USB Turnaraound zwischen Schreiben und Lesen hast Du 
verstanden? Und wenn Du willst, kannst Du das ganze auch noch auf 
asynchrone USB Transfers umstellen. Habe ich irgendwann nochmals vor, 
aber nicht im Moment.

Musst Du ueberhaupt den ganzen Flash neu schreiben? Evt hilft 
sektorweises Schreiben und Loeschen (...:W:... statt ...:w:...). Ist 
aber nur grob getestet.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duke Scarring schrieb:
> Evtl. kannst Du svnversion verwenden um die Revisionsnummer zu
> erzeugen:~/xc3sprog$ svnversion
> 709
>
> Duke

Das ganze muss aber auch in den CMAKE Fluss passen, und lokal halte ich 
das Repository sowieso mit git.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher nimmst Du denn die Information über BTC, CCB und SUCR.

Stehen diese Infos im MCS-File?

Ich habe gelesen das die Infos im CFI-File stehen soll.



Wie wird das Verifying durchgeführt? Es werden die Daten zuerst in den 
FLASH kopiert und dann wieder ausgelesen. Die ausgelesenen Daten werden 
dann auf dem PC mit den gesendeten Daten verglichen. Oder wird das 
Verifying über eine Checksumme erledigt?

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Woher nimmst Du denn die Information über BTC, CCB und SUCR.
>
> Stehen diese Infos im MCS-File?
>
> Ich habe gelesen das die Infos im CFI-File stehen soll.

Wie schon oben steht: "Ich habe noch nie einen XCFxxP
verwendet, der Algorithmus ist von jemand anderen". Wenn Du mehr wissen 
willst, dann musst und kannst Du an den Quellcode heran.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo liegt denn der Unterschied zwischen der "stripped" Version (0,4MB) 
und der unstripped Version (7.1MB)?

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf jedenfall Danke für Deine Hilfe Bonnes

Autor: Peter S. (petersieg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn der Beitrag schon älter ist, passen meine Fragen hier doch 
ganz gut rein.

Ich habe 2 Fragen, die nichts miteinander zu tun haben, deshalb versuche 
ich sie zu trennen. Beide betreffen aber das Spartan3 Starterkit von 
Xilinx mit Spartan3 200k und xcf02s Prom.

Frage 1:
Ich möchte gerne ein bit File in den Spartan3 und ein mcs File in den 
Prom flashen/überspielen. Und das unter Linux (Mint 19.1 32-bit).
xc3sprog zu compilieren ist kein Problem.
Kann ich z.B. folgenden FT2232 Adapter verwenden:
Ebay-Artikel Nr. 173640005773
Und falls ja, wie sind die Verbindungen zwischen Adapter und Jtag Header 
herzustellen? Im ersten Post stand dazu:
ADBUS0, ADBUS1, ADBUS2 und ADBUS3 (TCK, TDI, TDO und TMS)
Ist ADBUS0.. = AD0.. wie auf der Adapterplatine zu sehen?
Und somit die nötigen Verbindungen:
Adapter-Jtag
GND-GND
AD0-TCK
AD1-TDI
AD2-TDO
AD3-TMS
?
Falls das nicht der richtige Adapter ist, welcher wäre ein richtiger?

Passen die Pegel (2,8V oder 3,3V)?

---

Dabei ist ein sog. Low Cost Download Cable für den Parallelport, welches 
mit älteren Impact (6) auch funktioniert.
Nicht aber z.B. mit ISE 14.7.
Ist die Schaltung dazu in etwa/genau so wie hier beschrieben?
https://www.holger-klabunde.de/projects/Xilinx.htm

Kennt jemand Software, um dieses Kabel auch unter Linux zu nutzen?

Peter

: Bearbeitet durch User
Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Dabei ist ein sog. Low Cost Download Cable für den Parallelport, welches
> mit älteren Impact (6) auch funktioniert.
> ...
> Kennt jemand Software, um dieses Kabel auch unter Linux zu nutzen?

Such mal nach cableserver (cblsrv). Ist aber Jahre her, das Zeug wird 
kaum noch sinnvoll unterstützt. Parallelport würde ich nicht mehr 
verwenden.

Zu Frage 1: die JTAG I/Os sind 3.3V-tolerant und bei xc3sprog kannst du 
VID/PID angeben, also: Alle FT2232H-basierenden Adapter funktionieren 
prinzipiell. Was das Verkabeln angeht, muss man einfach dran denken, 
dass der TDI am FT2232 ein Ausgang (TDO also Eingang) ist, siehe FT2232 
datasheet. Also TDO (FTDI) <-> TDO (FPGA), nicht wie beim Chaining (TDO 
-> TDI).

Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok. Danke.

cablesrv braucht GPIO's. Schönes Bastelprojekt:
http://axio.ms/projects/wrtag/

--

Da gehe ich aber lieber mit der FT2232 Lösung.
Die 'Verkabelung zw. FT2232 Adapter und Jtag ist mir trotzdem unklar!

Peter

Autor: Strubi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> ok. Danke.
>
> cablesrv braucht GPIO's. Schönes Bastelprojekt:
> http://axio.ms/projects/wrtag/
>

Das Cableserver-Zeug mit IMPACT ist leider per Design ein Murks, Xilinx 
hatte da nicht so die glückliche Hand. Für Massenproduktion nicht zu 
gebrauchen. Dazu kommt, dass die langsame 'slew rate' der Parallel-GPIOs 
ab und mal beim bit-ge-bangten TCK Fehler produziert.

>
> Da gehe ich aber lieber mit der FT2232 Lösung.
> Die 'Verkabelung zw. FT2232 Adapter und Jtag ist mir trotzdem unklar!
>

Siehe PDF. Und guck ins FT2232H Datasheet, da kann man ansich nichts 
falschmachen. Nur GND nicht vergessen :-)

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Auch wenn der Beitrag schon älter ist, passen meine Fragen hier doch
> ganz gut rein.
Neue Frage und Link auf den altem Thread wäre etwas besser gewesen.


> Ich habe 2 Fragen, die nichts miteinander zu tun haben, deshalb versuche
> ich sie zu trennen. Beide betreffen aber das Spartan3 Starterkit von
> Xilinx mit Spartan3 200k und xcf02s Prom.

Hast Du dieses Board?
https://www.xilinx.com/support/documentation/boards_and_kits/ug130.pdf

Auf dem Nachfolger-Evalboard mit dem Spartan 3E ist der (USB-)Programmer 
schon mit drauf.


> Dabei ist ein sog. Low Cost Download Cable für den Parallelport, welches
> mit älteren Impact (6) auch funktioniert.
> Nicht aber z.B. mit ISE 14.7.
Du kannst ja das neuere ISE mit dem älteren Impact nutzen.
Impact gab es auch als separaten Download (LabTools).

> Ist die Schaltung dazu in etwa/genau so wie hier beschrieben?
Ja, einfach nur ein paar Gatter als Treiber. Mutige (kein ESD-Schutz) 
können die Leitungen/Signale auch direkt verbinden.

Duke

Autor: Peter S. (petersieg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Duke: Ja. Genauso ein Board ist es.
Und Ja. Eine neue Frage mit Link auf den alten Thread wäre auch gut 
gewesen.
Ja. Altes Impact mit neuerer ISE 14.7 geht unter WinXP.

@Strubi: Den Plan verstehe ich nicht?
Ich sehe daraus nicht, an welchen Pins des FT2232 nun die Jtag Signale 
zu verbinden sind. Ich bin aber gerade nur mit Handy drin..

Edit: Nun mit dem Notebook..
Habe mir nun das Datasheet zum FT2232H angesehen - das die Info's da 
drin stehen könnten.. bin ich nicht drauf gekommen :-(
(Siehe Bild)

Demnach passt das so:
Adapter-Jtag
GND-GND
AD0-TCK
AD1-TDI
AD2-TDO
AD3-TMS

Danke an euch beide! Dann werde ich den verlinkten Adapter mal 
bestellen..

Peter

: Bearbeitet durch User
Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal was anderes.. oder xc3sprog ALT ohne FT2232:

Auf der Suche nach aktuellen xc3sprog Quellen, fand ich ein 'etwas 
älteres':
https://github.com/dnet/xc3sprog

Steht: Speziell für Spartan3 Starterkit; NUR parallel Port und auch für 
Flash Prom..

Nun dachte ich mir ist ja eigentlich Quatsch, das mit dem Low Cost 
Download Cable unter Linux zu probieren - weil ja lt. orig. Doku dieses 
Low Cost Kabel NICHT unterstützt wird.

Ja, was soll ich sagen.. klappt einwandfrei!?

Sowohl bit File ins Spartan3 als auch ins Flash Prom geht ohne jedes 
Problem. Gerade 3x mit verschiedenen bit Files getestet!

Meldet sich mit Release 0.5

Hat xc3sprog das mal unterstützt und es wurde später rausgenommen?
Oder ist das ein Fork, der für Low Cost Kabel umgebaut worden ist?

Lt:
http://xc3sprog.sourceforge.net/hardware.php
wird an parallel Port nur unterstützt:
pp   parallel port   Xilinx Parallel Cable III (DLC5), or Altera 
ByteBlaster

Peter

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Hat xc3sprog das mal unterstützt und es wurde später rausgenommen?
> Oder ist das ein Fork, der für Low Cost Kabel umgebaut worden ist?
Um das herauszufinden könnte man die Quellen vergleichen oder beim Autor 
nachfragen.

Wenn die Version bei Dir funktioniert, ist doch alles fein.
Die Parallelportvarianten machen JTAG per bit-banging. Möglicherweise 
ist einfach die Pinbelegung und logische Signalzuordnung  bei allen 
identisch, so das es klappt.
In dem Xilinx-PP-Kabel sind maximal Pegelwandler und Schutzbeschaltung 
drin, aber keine Logikschaltung.

Duke

Autor: Peter S. (petersieg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So. Heute mal Zeit gehabt den FT2232h Adapter unter Linux (lin32 Mint 
19.1) auszuprobieren (r401 xc3sprog von sourceforge).

Verkabelung:
Adapter-Jtag
GND-GND-schwarz
AD0-TCK-braun
AD1-TDI-rot
AD2-TDO-orange
AD3-TMS-gelb

Siehe Bilder.

WICHTIG: Nach dem Einstecken des FT2232h die autom. geladenen Module 
ftdi_sio entladen:
sudo rmmod usbserial ftdi_sio

Link mit Hinweis dazu hier gefunden:
https://sourceforge.net/p/xc3sprog/mailman/message/29254594/

Dann kann man sich die Jtag Chain anzeigen lassen mit:
sudo ./xc3sprog -c ftdi -j

Und ein bit file in den Fpga laden mit:
sudo ./xc3sprog -c ftdi ../pong.bit

Danke an alle!

Peter

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit aktueller libftdi geschieht das Entladen der geladenen Module 
automatisch.
Wenn Du Dich zu Mitglied der Gruppe machst, der das USB Device gehoerst, 
brauchst Du auch nicht mehr das "sudo"

Autor: Mein Gott %4#§ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
ok. Danke.

Frage: Wo kann ich aktuellere TAR Container des Sourcecodes 
herunterladen?
Auf Sourceforge finde ich:
xc3sprog_792.git.tar.bz   2017-08-16   13.3 MB <-?? Git Repo
build-win32_rev780_stripped.tar.gz 2015-12-24   1.3 MB   <-win32 Bin
xc3sprog-0.0-svn685.armhf.deb   2012-09-05   955.4 kB<-arm Bin
xc3sprog-r401.tar.gz <- r401 Binaries (win32/lin32/lin64)
Im Verzeichnis xc3sprog liegt r216 als TAR Archive.

Unter Linux+win32 reichen mir auch die Binaries aktuell.
Aber: Es gibt da noch so ein "totes Pferd" = PowerMac G5 mit Ubuntu 
16.04, auf dem konnte ich r216 compilieren mit kleineren Anpassungen 
(#include <stdio.h>; typedef ... uint8/16/32_t). (Ich weiß - ein bischen 
sehr Retro)

r216 kennt aber z.B. -J <Hz> nicht.

detectchain zeigt jtag chain einwandfrei an. xc3sprog -c ftdi <bin> 
läuft aber gefühlt viel zu schnell durch und das fpga board bleibt 
mitten drin 'stehen' (alles nur Vermutungen).

Ideal wäre, wenn man einige Stufen zw. r216 und r792 als tar Container 
auch in Sourceforge ablegen könnte.

Peter

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aua, sourceforge scheint gerade mit dem Project oder allgemein Probleme 
zu haben. Ich kommen gar nicht mehr an der SVN Repo ran...

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

Was soll ich sagen.. das "tote Pferd" reitet noch ;-)

Diese Version lies sich ohne Probleme unter Ubuntu 16.04 powerpc mit GCC 
5.4 compilieren und sudo ./xc3sprog -c ftdi -J 150000 <file.bit>
schaufelte das Bit File ohne Probleme über den FT2232H auf den Spartan3.

Ein sudo apt install libftdi1-dev war vorher noch nötig.

Prima!

Peter

: Bearbeitet durch User

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.