Programmiert wird mit impact und Xilinx Parallel-cable III.
Xilinx prop. Cabledriver ersetzen (windrv6.so):
git clone git:/ /git.zerfleddert.de/usb-driver
make → erzeugt libusb-driver.so
ggf. chmod 666 /dev/parportx
Programmer (impact) Aufrufen unter shell als normaler user:
export LD_PRELOAD=/path/to/libusb-driver.so
impact
wenn device-id für unsere xc9536 nicht passt (beginnt mit 0000 statt 0010):
/home/Xilinx/14.7./ISE_DS/ISE/xc9500/data/xc9500.bsd folgendes editieren:
IDCODE_REGISTER of XC9536: “0010” → in “0000” ändern
Programmieren in ISE (auf s222 nur ise eingeben - shellscipt unter /usr/bin):
impact aus ISE aufrufen (doppelclick auf Configure target device)
in impact:
new porject
Fenster mit configure devices mit Boundary-Scan (JTAG) → OK
Device-chain mit XC9536 erschein.
Click auf XC9536
Aktionen wie Programmieren aufrufen
sollte ohne Fehler ablaufen.
Der XC9536 kann mit ISE Webpack 14.x und parallel cable III nicht mehr gelöscht werden.
ISE unterstützt nur noch Bulk-Erase. Diese Mode ist beim XC9536 nicht implementiert.
XC9536 muss im Sectormode gelöscht werden.
Workaround: Löschen über SVF-File erase.svf. Diese ist war ursprünglich für XC9572 geschrieben.
Die ID-Fehler wurden angepasst. Löschen scheint damit zu funktionieren (keine Garantie):
Löschvorgang:
impact aufrufen
neues Projekt
Fenster mit configure devices mit Boundary-Scan (JTAG) → cancel
Impact flows Fenster: Boundary Scan → doppelclick
rechtsclick in leere Arbeitsfläche → Add Xilinx Device
erase.svf auswählen
SVF anklicken und Execute Svf/Xsvf ausführen
Vorgang bricht nach ca. 50% mit Fehler ab (XC8573 ist doppelt so gross), Baustein ist aber trotzdem gelöscht.