netboot #102
|
@ -15,7 +15,7 @@ let
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
|
|
||||||
src = ./src;
|
src = ./src;
|
||||||
cargoSha256 = "1nk9bnvidgq4r7p9pzx1layiqxl48vkfd4hjncd4sxfj50hxjdx4";
|
cargoSha256 = "0mf4jyhirkz3grcp2459b8rhw36xkx3rhpz6af0j4knyxb2w707n";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgs.gnumake
|
pkgs.gnumake
|
||||||
|
@ -32,8 +32,10 @@ let
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out $out/nix-support
|
mkdir -p $out $out/nix-support
|
||||||
|
cp ../build/runtime.bin $out/runtime.bin
|
||||||
cp ../build/firmware/armv7-none-eabihf/release/runtime $out/runtime.elf
|
cp ../build/firmware/armv7-none-eabihf/release/runtime $out/runtime.elf
|
||||||
cp ../build/firmware/armv7-none-eabihf/release/szl $out/szl.elf
|
cp ../build/firmware/armv7-none-eabihf/debug/szl $out/szl.elf
|
||||||
|
echo file binary-dist $out/runtime.bin >> $out/nix-support/hydra-build-products
|
||||||
echo file binary-dist $out/runtime.elf >> $out/nix-support/hydra-build-products
|
echo file binary-dist $out/runtime.elf >> $out/nix-support/hydra-build-products
|
||||||
echo file binary-dist $out/szl.elf >> $out/nix-support/hydra-build-products
|
echo file binary-dist $out/szl.elf >> $out/nix-support/hydra-build-products
|
||||||
'';
|
'';
|
||||||
|
@ -60,6 +62,7 @@ let
|
||||||
''
|
''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
ln -s ${firmware}/szl.elf $out
|
ln -s ${firmware}/szl.elf $out
|
||||||
|
ln -s ${firmware}/runtime.bin $out
|
||||||
ln -s ${gateware}/top.bit $out
|
ln -s ${gateware}/top.bit $out
|
||||||
'';
|
'';
|
||||||
sd = pkgs.runCommand "zc706-${variant}-sd"
|
sd = pkgs.runCommand "zc706-${variant}-sd"
|
||||||
|
@ -72,12 +75,14 @@ let
|
||||||
bifdir=`mktemp -d`
|
bifdir=`mktemp -d`
|
||||||
cd $bifdir
|
cd $bifdir
|
||||||
ln -s ${firmware}/szl.elf szl.elf
|
ln -s ${firmware}/szl.elf szl.elf
|
||||||
|
ln -s ${firmware}/runtime.elf runtime.elf
|
||||||
ln -s ${gateware}/top.bit top.bit
|
ln -s ${gateware}/top.bit top.bit
|
||||||
cat > boot.bif << EOF
|
cat > boot.bif << EOF
|
||||||
the_ROM_image:
|
the_ROM_image:
|
||||||
{
|
{
|
||||||
[bootloader]szl.elf
|
[bootloader]szl.elf
|
||||||
top.bit
|
top.bit
|
||||||
|
runtime.elf
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
mkdir $out $out/nix-support
|
mkdir $out $out/nix-support
|
||||||
|
|
17
local_run.sh
17
local_run.sh
|
@ -4,8 +4,9 @@ set -e
|
||||||
|
|
||||||
impure=0
|
impure=0
|
||||||
load_bitstream=1
|
load_bitstream=1
|
||||||
|
board_host="192.168.1.52"
|
||||||
|
|
||||||
while getopts "h:il" opt; do
|
while getopts "ilb:" opt; do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
\?) exit 1
|
\?) exit 1
|
||||||
;;
|
;;
|
||||||
|
@ -13,6 +14,8 @@ while getopts "h:il" opt; do
|
||||||
;;
|
;;
|
||||||
l) load_bitstream=0
|
l) load_bitstream=0
|
||||||
;;
|
;;
|
||||||
|
b) board_host=$OPTARG
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -21,12 +24,16 @@ load_bitstream_cmd=""
|
||||||
cd openocd
|
cd openocd
|
||||||
if [ $impure -eq 1 ]; then
|
if [ $impure -eq 1 ]; then
|
||||||
if [ $load_bitstream -eq 1 ]; then
|
if [ $load_bitstream -eq 1 ]; then
|
||||||
load_bitstream_cmd="pld load 0 ../build/gateware/top.bit;"
|
load_bitstream_cmd="-g ../build/gateware/top.bit"
|
||||||
fi
|
fi
|
||||||
openocd -f zc706.cfg -c "$load_bitstream_cmd load_image ../build/firmware/armv7-none-eabihf/release/szl; resume 0; exit"
|
openocd -f zc706.cfg -c "load_image ../build/firmware/armv7-none-eabihf/debug/szl; resume 0; exit"
|
||||||
|
sleep 5
|
||||||
|
artiq_netboot $load_bitstream_cmd -f ../build/runtime.bin -b $board_host
|
||||||
else
|
else
|
||||||
if [ $load_bitstream -eq 1 ]; then
|
if [ $load_bitstream -eq 1 ]; then
|
||||||
load_bitstream_cmd="pld load 0 ../result/top.bit;"
|
load_bitstream_cmd="-g ../result/top.bit"
|
||||||
fi
|
fi
|
||||||
openocd -f zc706.cfg -c "$load_bitstream_cmd load_image ../result/szl.elf; resume 0; exit"
|
openocd -f zc706.cfg -c "load_image ../result/szl.elf; resume 0; exit"
|
||||||
|
sleep 5
|
||||||
|
artiq_netboot $load_bitstream_cmd -f ../result/runtime.bin -b $board_host
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -8,6 +8,7 @@ pure_dir="result"
|
||||||
impure_dir="build"
|
impure_dir="build"
|
||||||
sshopts=""
|
sshopts=""
|
||||||
load_bitstream=1
|
load_bitstream=1
|
||||||
|
board_host="192.168.1.52"
|
||||||
|
|
||||||
while getopts "h:id:o:l" opt; do
|
while getopts "h:id:o:l" opt; do
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
|
@ -24,29 +25,32 @@ while getopts "h:id:o:l" opt; do
|
||||||
;;
|
;;
|
||||||
l) load_bitstream=0
|
l) load_bitstream=0
|
||||||
;;
|
;;
|
||||||
|
b) board_host=$OPTARG
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
target_folder="/tmp/zynq-$USER"
|
target_folder="/tmp/zynq-$USER"
|
||||||
load_bitstream_cmd=""
|
load_bitstream_cmd=""
|
||||||
if [ $load_bitstream -eq 1 ]; then
|
|
||||||
load_bitstream_cmd="pld load 0 top.bit;"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Creating $target_folder..."
|
echo "Creating $target_folder..."
|
||||||
ssh $sshopts $target_host "mkdir -p $target_folder"
|
ssh $sshopts $target_host "mkdir -p $target_folder"
|
||||||
echo "Copying files..."
|
echo "Copying files..."
|
||||||
rsync -e "ssh $sshopts" openocd/* $target_host:$target_folder
|
rsync -e "ssh $sshopts" openocd/* $target_host:$target_folder
|
||||||
if [ $impure -eq 1 ]; then
|
if [ $impure -eq 1 ]; then
|
||||||
rsync -e "ssh $sshopts" $impure_dir/firmware/armv7-none-eabihf/release/szl $target_host:$target_folder/szl.elf
|
|
||||||
if [ $load_bitstream -eq 1 ]; then
|
if [ $load_bitstream -eq 1 ]; then
|
||||||
rsync -e "ssh $sshopts" $impure_dir/gateware/top.bit $target_host:$target_folder
|
load_bitstream_cmd="-g build/gateware/top.bit"
|
||||||
fi
|
fi
|
||||||
|
firmware="build/runtime.bin"
|
||||||
|
rsync -e "ssh $sshopts" $impure_dir/firmware/armv7-none-eabihf/debug/szl $target_host:$target_folder/szl.elf
|
||||||
else
|
else
|
||||||
rsync -e "ssh $sshopts" -Lc $pure_dir/szl.elf $target_host:$target_folder
|
|
||||||
if [ $load_bitstream -eq 1 ]; then
|
if [ $load_bitstream -eq 1 ]; then
|
||||||
rsync -e "ssh $sshopts" -Lc $pure_dir/top.bit $target_host:$target_folder
|
load_bitstream_cmd="-g result/top.bit"
|
||||||
fi
|
fi
|
||||||
|
firmware="result/runtime.bin"
|
||||||
|
rsync -e "ssh $sshopts" -Lc $pure_dir/szl.elf $target_host:$target_folder
|
||||||
fi
|
fi
|
||||||
echo "Programming board..."
|
echo "Programming board..."
|
||||||
ssh $sshopts $target_host "cd $target_folder; openocd -f zc706.cfg -c'$load_bitstream_cmd load_image szl.elf; resume 0; exit'"
|
ssh $sshopts $target_host "cd $target_folder; openocd -f zc706.cfg -c'load_image szl.elf; resume 0; exit'"
|
||||||
|
sleep 5
|
||||||
|
artiq_netboot $load_bitstream_cmd -f $firmware -b $board_host
|
||||||
|
|
Loading…
Reference in New Issue