|
59 | 59 | esac
|
60 | 60 | done
|
61 | 61 |
|
| 62 | +function search_for_proxy() |
| 63 | +{ |
| 64 | + PROXY=$1 # The proxy name |
| 65 | + if [ -f $HOME/.migen/$PROXY ] |
| 66 | + then |
| 67 | + PROXY_PATH=$HOME/.migen/ |
| 68 | + elif [ -f /usr/local/share/migen/$PROXY ] |
| 69 | + then |
| 70 | + PROXY_PATH=/usr/local/share/migen/ |
| 71 | + elif [ -f /usr/share/migen/$PROXY ] |
| 72 | + then |
| 73 | + PROXY_PATH=/usr/share/migen/ |
| 74 | + elif [ -f $BIN_PREFIX/$PROXY ] |
| 75 | + then |
| 76 | + PROXY_PATH=$BIN_PREFIX |
| 77 | + else |
| 78 | + echo "$BOARD flash proxy ($PROXY) not found." |
| 79 | + echo "Please put it in ~/.migen or /usr/local/share/migen or /usr/share/migen" |
| 80 | + echo "To get the flash proxy, follow the \"Install the required flash proxy bitstreams:\"" |
| 81 | + echo "bullet point from http://m-labs.hk/artiq/manual/installing.html#preparing-the-core-device-fpga-board" |
| 82 | + exit 1 |
| 83 | + fi |
| 84 | +} |
| 85 | + |
62 | 86 | if ! [ -z "$BIN_PATH" ]
|
63 | 87 | then
|
64 | 88 | BIN_PREFIX=$BIN_PATH
|
|
70 | 94 | BITSTREAM=artiq_ppro-up-papilio_pro.bin
|
71 | 95 | CABLE=papilio
|
72 | 96 | PROXY=bscan_spi_lx9_papilio.bit
|
73 |
| - BIN_PREFIX=$ARTIQ_PREFIX/binaries/ppro |
74 |
| - PROXY_PATH=$BIN_PREFIX |
75 | 97 | BIOS_ADDR=0x60000
|
76 | 98 | RUNTIME_ADDR=0x70000
|
| 99 | + if [ -z "$BIN_PREFIX" ]; then BIN_PREFIX=$ARTIQ_PREFIX/binaries/ppro; fi |
| 100 | + search_for_proxy $PROXY |
77 | 101 | elif [ "$BOARD" == "pipistrello" ]
|
78 | 102 | then
|
79 | 103 | UDEV_RULES=99-ppro.rules
|
80 | 104 | BITSTREAM=artiq_pipistrello-amp-pipistrello.bin
|
81 | 105 | CABLE=papilio
|
82 | 106 | PROXY=bscan_spi_lx9_csg324.bit
|
83 |
| - BIN_PREFIX=$ARTIQ_PREFIX/binaries/pipistrello |
84 |
| - PROXY_PATH=$BIN_PREFIX |
85 | 107 | BIOS_ADDR=0x170000
|
86 | 108 | RUNTIME_ADDR=0x180000
|
| 109 | + if [ -z "$BIN_PREFIX" ]; then BIN_PREFIX=$ARTIQ_PREFIX/binaries/pipistrello; fi |
| 110 | + search_for_proxy $PROXY |
87 | 111 | elif [ "$BOARD" == "kc705" ]
|
88 | 112 | then
|
89 | 113 | UDEV_RULES=99-kc705.rules
|
90 | 114 | BITSTREAM=artiq_kc705-artiqsocbasic-kc705.bit
|
91 | 115 | CABLE=jtaghs1_fast
|
92 | 116 | PROXY=bscan_spi_kc705.bit
|
93 |
| - BIN_PREFIX=$ARTIQ_PREFIX/binaries/kc705 |
94 | 117 | BIOS_ADDR=0xaf0000
|
95 | 118 | RUNTIME_ADDR=0xb00000
|
96 |
| - if [ -f $HOME/.migen/$PROXY ] |
97 |
| - then |
98 |
| - PROXY_PATH=$HOME/.migen/ |
99 |
| - elif [ -f /usr/local/share/migen/$PROXY ] |
100 |
| - then |
101 |
| - PROXY_PATH=/usr/local/share/migen/ |
102 |
| - elif [ -f /usr/share/migen/$PROXY ] |
103 |
| - then |
104 |
| - PROXY_PATH=/usr/share/migen/ |
105 |
| - else |
106 |
| - echo "KC705 flash proxy ($PROXY) not found." |
107 |
| - echo "Please build it from https://github.com/m-labs/bscan_spi_kc705" |
108 |
| - echo "and put it in ~/.migen or /usr/local/share/migen or /usr/share/migen" |
109 |
| - exit 1 |
110 |
| - fi |
| 119 | + if [ -z "$BIN_PREFIX" ]; then BIN_PREFIX=$ARTIQ_PREFIX/binaries/kc705; fi |
| 120 | + search_for_proxy $PROXY |
111 | 121 | fi
|
112 | 122 |
|
113 | 123 | # Check if neither of -b|-B|-r have been used
|
|
0 commit comments