artiq-zynq/local_run.sh

61 lines
1.3 KiB
Bash
Raw Normal View History

2020-06-05 11:45:56 +08:00
#!/usr/bin/env bash
set -e
if [ -z "$OPENOCD_ZYNQ" ]; then
echo "OPENOCD_ZYNQ environment variable must be set"
exit 1
fi
if [ -z "$SZL" ]; then
echo "SZL environment variable must be set"
exit 1
fi
2020-06-05 11:45:56 +08:00
impure=0
load_bitstream=1
2021-06-25 17:03:55 +08:00
board_type="kasli_soc"
2021-10-05 15:57:20 +08:00
fw_type="runtime"
2020-06-05 11:45:56 +08:00
2021-10-05 15:57:20 +08:00
while getopts "ilb:t:f:" opt; do
2020-06-05 11:45:56 +08:00
case "$opt" in
\?) exit 1
2020-06-05 11:45:56 +08:00
;;
i) impure=1
;;
l) load_bitstream=0
;;
2020-09-01 09:41:02 +08:00
b) board_host=$OPTARG
;;
2021-06-25 17:03:55 +08:00
t) board_type=$OPTARG
;;
2021-10-05 15:57:20 +08:00
f) fw_type=$OPTARG
;;
2020-06-05 11:45:56 +08:00
esac
done
2021-06-25 17:03:55 +08:00
if [ -z "$board_host" ]; then
case $board_type in
kasli_soc) board_host="192.168.1.56";;
zc706) board_host="192.168.1.52";;
*) echo "Unknown board type"; exit 1;;
esac
fi
load_bitstream_cmd=""
2020-09-09 15:44:29 +08:00
build_dir=`pwd`/build
result_dir=`pwd`/result
cd $OPENOCD_ZYNQ
2021-06-25 17:03:55 +08:00
openocd -f $board_type.cfg -c "load_image $SZL/szl-$board_type.elf; resume 0; exit"
sleep 5
2020-06-05 11:45:56 +08:00
if [ $impure -eq 1 ]; then
if [ $load_bitstream -eq 1 ]; then
2020-09-09 15:44:29 +08:00
load_bitstream_cmd="-g $build_dir/gateware/top.bit"
fi
2021-10-05 15:57:20 +08:00
artiq_netboot $load_bitstream_cmd -f $build_dir/$fwtype.bin -b $board_host
2020-06-05 11:45:56 +08:00
else
if [ $load_bitstream -eq 1 ]; then
2020-09-09 15:44:29 +08:00
load_bitstream_cmd="-g $result_dir/top.bit"
fi
2021-10-05 15:57:20 +08:00
artiq_netboot $load_bitstream_cmd -f $result_dir/$fwtype.bin -b $board_host
fi