Sie sind auf Seite 1von 19

HowToInstallXilinxISE+PlatformCableUSBII/parallel

DriversonOpenSuSELinux
Doc.Version201306101
Author:MarioBlunk

Abstract:GuidelinetoinstalltheXILINXIDEISEonOpenSuSELinuxsystems.Focusis
oninstallingdriversforplatformcables.

Contents
1Preface...............................................................................................................................3
2ISEInstallationonSuSELinux11.1...................................................................................4
2.1CableDriverInstallation..............................................................................................5
2.1.1PreparationforPlatformCableUSBII.................................................................5
2.1.2PreparationforParallelCableIV.........................................................................7
2.1.3DownloadingDriverSourceCode........................................................................8
2.1.4Compilingthedriver.............................................................................................8
3ISEInstallationonSuSELinux12.1...................................................................................9
3.1CableDriverInstallation............................................................................................11
3.1.1PreparationforPlatformCableUSBII................................................................11
3.1.2PreparationforParallelCableIV........................................................................13
3.1.3DownloadingDriverSourceCode......................................................................14
3.1.4Compilingthedriver...........................................................................................14
4SettingupaStartUpScriptforISE.................................................................................15
5UsefulLinks......................................................................................................................16
6Thanksto..........................................................................................................................19
7Disclaimer.........................................................................................................................19

Blunkelectronicatwww.trainz.de

Blunkelectronicatwww.trainz.de

1 Preface
ThisdocumentaimstohelpOpenSuSEusersinstallingthepowerfulISEtoolmadeby
Xilinx.WhiletheinstallationofISEitselfiseasythePlatformCableUSBIIandparallel
CableIVdriverinstallationisamajorissueofthisdocument.TheXilinxdriversshipped
withISEareofnovaluesincetheyhavebeencompiledwithacertainLinuxkernel.Mostof
otherLinuxkernelsarenotsupported.
ThereisnospecialfocusonhowtouseISE,howtomanagelicensesorhowtowriteHDL
code.PleaserefertotheofficialXilinxdocumentationatwww.xilinx.com.

Iappreciateeveryhintorcriticstoimprovethequalityofthisdocument.
Pleasesendyourcommentstomarioblunk@arcor.de.Thankyou!

Blunkelectronicatwww.trainz.de

2 ISEInstallationonSuSELinux11.1
TheprocedurebelowappliestobothISE10.1andISE11.1.
1) Loginasnonrootuser.
2) DownloadfileXilinx_11.1_WebPack_SFD.tar1fromwww.xilinx.com
3) Savethisfileinyourhomedirectory.
4) Openconsole.
5) RuncommandtarxfXilinx_11.1_WebPack_SFD.tar.
6) Runcommandsu
7) Typeyourrootpassword.
8) ChangeintodirectoryXilinx_11.1_WebPack_SFD
9) Runcommand./setupforISE10.1or./xsetupforISE11.1.
10) FollowinstructionsgivenbytheISEinstallationprocess.Whenyouareaskedto
installcabledrivers,selectdriverinstallation2.

Don'tcareabouttheboxthatinformsyouaboutanyenvironmentvariablesrequired
forISE(seesection4SettingupaStartUpScriptforISEformore).
Don'tcareaboutthemessageboxintheendoftheinstallationproceduresaying
thatyourcabledriverinstallationhasfailed.We'llcareaboutthatlater.
11) DonotstartISE.

1 TheTARFilenameforISE10.1differsfromthisnotationofcourse.
2 Thiswaythefirmwarefilesgetinstalledinyoursystemdirectory/usr/share.
4

Blunkelectronicatwww.trainz.de

2.1 CableDriverInstallation

2.1.1

PreparationforPlatformCableUSBII

1) Loginasroot
2) DonotstartISE.CloseISEifitisrunningalready.
3) Disconnectyourtargethardware,yourUUTorDUT(orhoweveryoucallit)from
thePlatformUSBIIcable.
4) startYASTandinstallpackagesfxload,make,gccandlibusbdevel.
5) PluginthePlatformUSBIIcable3.TheLEDonthecableshouldlightupyellow
now.
IftheLEDdoesnotcomeup,runcommand:lsl/usr/share/*.hex.
Thereshouldbeabunchoffilesendingwithhex.Iftheyarenottherererunthe
basicISEinstallationandmakesurethedriverinstallationisselected(seepage4
section2actionpoint10.
IftheyellowLEDstilldoesnotcomeon,openaconsoleandtypecommand
lsusb|grepXilinx.IfthefirmwareuploadtotheUSBcablehasfaileditshould
outputalinelike:
Bus 002 Device 002: ID 03fd:0013 Xilinx, Inc.
SoyouknowthecableisatleastpresentandconnectedtothePC.
Ifthefirmwareuploadhassucceededtheoutputis:
Bus 004 Device 004: ID 03fd:0008 Xilinx, Inc.
Importantisthenumbermarkedinred.Itstatesthatthecablefirmwarehasbeen
loadedproperly.
6) Changetodirectory/etc/udev/rules.d/
7) Runcommandtouchlibusbdriver.rules
8) Openfilelibusbdriver.ruleswithKateorothertexteditor.
9) Pastethislineintofilelibusbdriver.rules:
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03fd", MODE="666"

10) Savefilelibusbdriver.rules.
11) Closetexteditor.
3 IdonotrecommendanyUSBextensioncordsastheymayinfluencethepowersupplynegatively.
Blunkelectronicatwww.trainz.de

12) DonotstartISE.
13) Logout.
14) RestartyourPC.
15) DonotstartISE.

Blunkelectronicatwww.trainz.de

2.1.2

PreparationforParallelCableIV4

1) Loginasroot
2) DonotstartISE.CloseISEifitisrunningalready.
3) Disconnectyourtargethardware,yourUUTorDUT(orhoweveryoucallit)from
thecable.
4) DisconnectyourParallelCableIVfromyourPC.
5) startYASTandinstallpackagesfxload,make,gccandlibusbdevel.
6) inYASTgotoSecurityandUsersthenselectUserandGroupManagement.
7) Edittheuserwhoissupposedtoworkwiththecableandmakeitmemberofthe
grouplp.
8) ExitYAST.
9) ShutdownyourPC.
10) PlugintheParallelCableIVonyourPCsLPTport.
11) PoweruptheParallelCableIV.
12) StartyourPCandenterPCBIOS.
13) MakesureyourLPT(parallel)portissettomodeECPorBidir.
14) ExitBIOS.
15) RestartyourPC.

4 LaterIdiscoveredtheParallelCableIIIcanalsosetupthisway.Itmaynotneedtheprocedureatallsince
itisverysimpleregardingitsinnards.Howeveritworksperfectlyonmysystem.
Blunkelectronicatwww.trainz.de

2.1.3

DownloadingDriverSourceCode

1) Loginasordinary(nonroot)user.
2) Inyourhomedirectorycreateafoldernamedforexampleiseusbdriver.
3) Startyourinternetbrowserandgodirectlyto
http://git.zerfleddert.de/cgibin/gitweb.cgi/usbdriver?a=snapshot;h=HEAD;sf=tgz
oralternativelytohttp://www.rmdir.de/~michael/xilinx/
Note:Ifyoudon'tgetaccesstothefileusbdriverHEAD.tar.gzyoumaycontactme
viaemailsothatIcansendyouthefile.
4) SavethefileusbdriverHEAD.tar.gzinfolderiseusbdriver.

2.1.4

Compilingthedriver

Note:Youdonotneedanykernelsourcestoinstallforthisprocedure.Steps10and11
donotapplyfortheParallelIVCable.
1) Loginasnonrootuser.
2) Openaconsoleandchange(cd)totofolderiseusbdriver.
3) RuncommandgunzipusbdriverHEAD.tar.gz.
4) RuncomandtarxfusbdriverHEAD.tar.
5) Runcommandcdusbdriver.
6) Runcommandmake.
7) Runcommandlslibusbdriver.so.
8) Itshouldoutput:libusb-driver.so
9) Nowthedriveriscompiledandreadyforuse.
10) DonotstartISE.

Blunkelectronicatwww.trainz.de

3 ISEInstallationonSuSELinux12.1
TheprocedurebelowappliestobothISE10.1andISE11.1.
1) Loginasnonrootuser.
2) DownloadfileXilinx_11.1_WebPack_SFD.tar5fromwww.xilinx.com
3) Savethisfileinyourhomedirectory.
4) Openconsole.
5) RuncommandtarxfXilinx_11.1_WebPack_SFD.tar.
6) Runcommandsu
7) Typeyourrootpassword.
8) ChangeintodirectoryXilinx_11.1_WebPack_SFD
9) Runcommand./setupforISE10.1or./xsetupforISE11.1.
10) FollowinstructionsgivenbytheISEinstallationprocess.Whenyouareaskedto
installcabledrivers,selectdriverinstallation6.

Don'tcareabouttheboxthatinformsyouaboutanyenvironmentvariablesrequired
forISE(seesection4SettingupaStartUpScriptforISEformore).
Ifyoudon'thavealicensefileyet,closethewindowthatasksyouforlicensingand
proceed.
Don'tcareaboutthemessageboxintheendoftheinstallationproceduresaying
thatyourcabledriverinstallationhasfailed.We'llcareaboutthatlater.
11) DonotstartISE.
12) Changeintodirectory/opt/Xilinx/11.1/ISE/bin/lin/.
13) Runcommandcp*.hex/usr/share.Thiswaythefirmwarefilesarecopiedwhere
theybelong7.
14) Runcommandcpxusbdfwu.rules/etc/udev/rules.d/
15) DonotstartISE.

5 TheTARFilenameforISE10.1differsfromthisnotationofcourse.
6 IncontrasttoSuSe11.1thefirmwarefiles(*.hex)arenotplacedin/usr/sharehere.Theywillresidein
directory/opt/Xilinx/11.1/ISE/bin/lin/.
7 IhavenocluewhytheISEinstallationproceduredoesnotcopytheminto/usr/sharebydefault.Insteada
directory/etc/hotplug/usb/xusbdfwu.fwiscreatedbytheXilinxinstallationprocedurewherethe*.hexfiles
getstored.
Itisalsostrangethatthe*.hexfilesin/opt/Xilinx/11.1/ISE/bin/lin/aredifferentfromtheonesstoredin
/etc/hotplug/usb/xusbdfwu.fw.HoweverIignoredthelatter.
Blunkelectronicatwww.trainz.de

16) Openfilexusbdfwu.rulesindirectory/etc/udev/rules.d/withatexteditorandchange
thewords$TEMPNODEto$tempnode.SeeText1andText2onpage10.

# version 0003
SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007",
/usr/share/xusbdfwu.hex -D $TEMPNODE"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009",
/usr/share/xusb_xup.hex -D $TEMPNODE"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d",
/usr/share/xusb_emb.hex -D $TEMPNODE"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f",
/usr/share/xusb_xlp.hex -D $TEMPNODE"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013",
/usr/share/xusb_xp2.hex -D $TEMPNODE"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015",
/usr/share/xusb_xse.hex -D $TEMPNODE"

RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I

Text1:xusbdfwu.rulesbefore

# version 0003
SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007",
/usr/share/xusbdfwu.hex -D $tempnode"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009",
/usr/share/xusb_xup.hex -D $tempnode"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d",
/usr/share/xusb_emb.hex -D $tempnode"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f",
/usr/share/xusb_xlp.hex -D $tempnode"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013",
/usr/share/xusb_xp2.hex -D $tempnode"
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015",
/usr/share/xusb_xse.hex -D $tempnode"

RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I
RUN+="/sbin/fxload -v -t fx2 -I

Text2:xusbdfwu.rulesafter

17) Runcommandcp/usr/lib/libstdc++.so.6/opt/Xilinx/11.1/ISE/bin/lin/
18) Logofftherootuserand
19) loginasnonrootuser.
20)IncaseofISEotherthanversion10.1:CopyyourXilinxlicensefile(mostlyXilinx.lic)
intodirectory/home/yours/.Xilinx.
21)DonotstartISE.

10

Blunkelectronicatwww.trainz.de

3.1 CableDriverInstallation

3.1.1

PreparationforPlatformCableUSBII

1) Loginasroot
2) DonotstartISE.CloseISEifitisrunningalready.
3) Disconnectyourtargethardware,yourUUTorDUT(orhoweveryoucallit)from
thePlatformUSBIIcable.
4) startYASTandinstallpackagesfxload,make,gcc,libpng120andlibusb
compatdevel.
5) Probablyyoumayneedtorebootnow.
6) PluginthePlatformUSBIIcable8.TheLEDonthecableshouldlightupyellow
now.
IftheLEDdoesnotcomeup,runcommand:lsl/usr/share/*.hex.
Thereshouldbeabunchoffilesendingwithhex.Iftheyarenotthereseepage9
actionpointandfollowingsteps.
IftheyellowLEDstilldoesnotcomeon,openaconsoleandtypecommand
lsusb|grepXilinx.IfthefirmwareuploadtotheUSBcablehasfaileditshould
outputalinelike:
Bus 002 Device 002: ID 03fd:0013 Xilinx, Inc.
SoyouknowthecableisatleastpresentandconnectedtothePC.
Ifthefirmwareuploadhassucceededitshouldread:
Bus 004 Device 004: ID 03fd:0008 Xilinx, Inc.
Importantisthenumbermarkedinred.Itstatesthatthecablefirmwarehasbeen
loadedproperly.
7) Changetodirectory/etc/udev/rules.d/
8) Runcommandtouchlibusbdriver.rules
9) Openfilelibusbdriver.ruleswithKateorothertexteditor.

8 IdonotrecommendanyUSBextensioncordsastheymayinfluencethepowersupplynegatively.
Blunkelectronicatwww.trainz.de

11

10) Pastethislineintofilelibusbdriver.rules:
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03fd", MODE="666"

11) Savefilelibusbdriver.rules.
12) Closetexteditor.
13) Logout.
14) DonotstartISE.
15) RestartyourPC.
16) DonotstartISE.

12

Blunkelectronicatwww.trainz.de

3.1.2

PreparationforParallelCableIV9

NOTE:

Thissectionhasneverbeenverified!

1) Loginasroot
2) DonotstartISE.CloseISEifitisrunningalready.
3) Disconnectyourtargethardware,yourUUTorDUT(orhoweveryoucallit)from
thecable.
4) DisconnectyourParallelCableIVfromyourPC.
5) startYASTandinstallpackagesfxload,make,gccandlibusbcompatdevel.
6) inYASTgotoSecurityandUsersthenselectUserandGroupManagement.
7) Edittheuserwhoissupposedtoworkwiththecableandmakeitmemberofthe
grouplp.
8) ExitYAST.
9) ShutdownyourPC.
10) PlugintheParallelCableIVonyourPCsLPTport.
11) PoweruptheParallelCableIV.
12) StartyourPCandenterPCBIOS.
13) MakesureyourLPT(parallel)portissettomodeECPorBidir.
14) ExitBIOS.
15) RestartyourPC.
NOTE:InOpenSuSE12.1theparallelportmodulelpneedstobeloadedonboot.
Bydefaultitisnotloaded.OpenYAST|/etc/sysconfigEditorandsetlptobe
loadedonboot.

9 LaterIdiscoveredtheParallelCableIIIcanalsosetupthisway.Itmaynotneedtheprocedureatallsince
itisverysimpleregardingitsinnards.Howeveritworksperfectlyonmysystem.
Blunkelectronicatwww.trainz.de

13

3.1.3

DownloadingDriverSourceCode

1) Loginasordinary(nonroot)user.
2) Inyourhomedirectorycreateafoldernamedforexampleiseusbdriver.
3) Startyourinternetbrowserandgodirectlyto
http://git.zerfleddert.de/cgibin/gitweb.cgi/usbdriver?a=snapshot;h=HEAD;sf=tgz
oralternativelytohttp://www.rmdir.de/~michael/xilinx/
Note:Ifyoudon'tgetaccesstothefileusbdriverHEAD.tar.gzyoumaycontactme
viaemailsothatIcansendyouthefile.
4) SavethefileusbdriverHEAD.tar.gzinfolderiseusbdriver.

3.1.4

Compilingthedriver

Note:Youdonotneedanykernelsourcestoinstallforthisprocedure.Steps10and11
donotapplyfortheParallelIVCable.
1) Loginasnonrootuser.
2) Openaconsoleandchange(cd)totofolderiseusbdriver.
3) RuncommandgunzipusbdriverHEAD.tar.gz.
4) RuncomandtarxfusbdriverHEAD.tar.
5) Runcommandcdusbdriver.
6) Runcommandmake.
7) Runcommandlslibusbdriver.so.
8) Itshouldoutput:libusb-driver.so
9) Nowthedriveriscompiledandreadyforuse.

14

Blunkelectronicatwww.trainz.de

4 SettingupaStartUpScriptforISE
SinceISErequiressomeenvironmentvariablessetIprefertoinitializethembymeansofa
shellscript.Thisscriptgetscalledbyanordinaryuser.
1) Createafoldernamedscriptsforexampleinyourhomedirectory.
2) Openconsole.
3) Changeintofolderscripts.
4) Runcommandtouchisego.
5) Runcommandchmod755isego.
6) Openfileisegowithatexteditor.
7) Pastethefollowinglinesintofileisego:
#! /bin/sh
source /opt/Xilinx/11.1/ISE/settings32.sh
export LD_PRELOAD=/home/yours/ise-usb-driver/usb-driver/libusb-driver.so
ise
#impact
exit

Note1:IfyouuseISE10.1changethesecondlineto:
source /opt/Xilinx/10.1/ISE/settings32.sh

Note2:IfyouwanttostartImpactdirectly(inaproductionlineforexample),
commentoutthewordiseandremovethehashbeforethewordimpact.
8) Savescriptfileisego.
9) Closetexteditor.
10) Createalinkicontothescriptfileisegoonyourdesktop.
11) Clickonthisicon.ISEshouldstartup.DoyourcablesetupinISE.YourPlatform
USBIIorParallelIVcableisnowreadyforuse.

Blunkelectronicatwww.trainz.de

15

5 UsefulLinks
Findupdatesofthisdocumentat
http://www.trainz.de

WhatisBoundaryScan?

MarioBlunk,AGuidetotestmethodsandwhytogoforBoundaryScanat
http://www.trainz.de/bsm/how_to_test.pdf

DebugSPI,IC,BoundaryScan/JTAGandotherhardwarewiththeLogicScanner
athttp://www.trainz.de/logic_scanner/Logic_Scanner_UM.pdf

ConnectyourBoundaryScanUUTwithaPlugofNailsat
www.TagConnect.com

16

Blunkelectronicatwww.trainz.de

LookingforaleanBoundaryScanTestSystem?Pleasehavealookhere!

Blunkelectronicatwww.trainz.de

17

CadSoftEAGLETrainingandConsultingareasonablewayto
reasonableworkathttp://www.trainz.de

ADAtheprogramminglanguageforsafecodingatwww.adacore.com

Theofficealternative:LibreOfficeathttp://www.libreoffice.org

18

Blunkelectronicatwww.trainz.de

6 Thanksto
MichaelGernothforlibusbdriveraJungowindrvrreplacementforXILINXJTAGtools.
http://www.gernoth.net/michael/

7 Disclaimer
Thisdocumentisbelievedtobeaccurateandreliable.Idonotassumeresponsibilityfor
anyerrorswhichmayappearinthisdocument.Ireservetherighttochangeitatanytime
withoutnotice,anddonotmakeanycommitmenttoupdatetheinformationcontained
herein.

MyBossisaJewishCarpenter!

Blunkelectronic/owner:Dipl.Ing.MarioBlunk/Buchfinkenweg5/99097Erfurt/Germany+4917629045855/http://www.trainz.de
2013MarioBlunk

PrintedinGermany

Blunkelectronicatwww.trainz.de

19

Das könnte Ihnen auch gefallen