update program.sh and Makefile for new jtag setup
[fleet.git] / misc / program.sh
1 #!/bin/bash
2
3 jtag < misc/jtag-commands
4 exit 0
5
6
7
8
9 export XILINX=/usr/local/xilinx/ise/
10
11
12 DEVICE=`lsusb | grep Xilinx | sed 's_Bus __' | sed 's_ Device _/_' | sed 's_:.*__'`
13
14 sudo sh -c 'cat > /etc/udev/rules.d/xusbdfwu.rules' <<EOF
15 # version 0002
16 SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666"
17 BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusbdfwu.hex -D $TEMPNODE"
18 BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusb_xup.hex -D $TEMPNODE"
19 BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusb_emb.hex -D $TEMPNODE"
20 BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusb_xlp.hex -D $TEMPNODE"
21 BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusb_xpr.hex -D $TEMPNODE"
22 EOF
23
24 (lsusb | grep '000f Xilinx') && \
25  (/sbin/fxload -v -t fx2 -I $XILINX/bin/lin/xusb_xlp.hex -D /proc/bus/usb/$DEVICE;\
26   sudo /etc/init.d/udev stop;\
27   sudo /etc/init.d/udev start)
28
29 export BITFILE=$1
30
31 sudo rmmod xpc4drvr
32 sudo rmmod windrvr6
33 #sudo insmod /lib/modules/2.6.22.9goliath/kernel/drivers/misc/xpc4drvr.ko
34 #sudo insmod /lib/modules/2.6.22.9goliath/kernel/drivers/misc/windrvr6.ko
35 #DEVNUM=`grep windrvr /proc/devices | sed 's_ .*__'`
36 #sudo rm -f /dev/windrvr6
37 #sudo mknod /dev/windrvr6 c $DEVNUM 0
38
39 export LD_PRELOAD=`pwd`/misc/libusb-driver.so
40
41 sudo ln -sf $XILINX/bin/lin/xusbdfwu.hex /usr/share/xusbdfwu.hex
42
43 # ml410: use -p 2
44 # ml505: use -p 5
45
46 $XILINX/bin/lin/impact -batch <<EOF
47 cleancablelock
48 setMode -bs
49 setCable -port usb21 -baud 12000000
50 identify
51 setMode -bs
52 assignFile -p 5 -file $BITFILE
53 program -p 5
54 quit
55 EOF
56
57 sudo rm _impact*
58 sudo rm /usr/share/xusbdfwu.hex
59 #rm /etc/udev/rules.d/xusbdfwu.rules