2022-05-13 15:01:41 +00:00
|
|
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Author: Xianjun Jiao
|
|
|
|
# SPDX-FileCopyrightText: 2022 UGent
|
|
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
|
|
|
|
if [ "$#" -ne 3 ]; then
|
|
|
|
echo "You have input $# arguments."
|
|
|
|
echo "You must enter exactly 3 arguments: \$OPENWIFI_HW_DIR \$XILINX_DIR \$BOARD_NAME"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
OPENWIFI_HW_DIR=$1
|
|
|
|
XILINX_DIR=$2
|
|
|
|
BOARD_NAME=$3
|
|
|
|
|
|
|
|
if [ -d "$XILINX_DIR/SDK" ]; then
|
|
|
|
echo "\$XILINX_DIR is found!"
|
|
|
|
else
|
|
|
|
echo "\$XILINX_DIR is not correct. Please check!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2022-09-02 14:36:38 +00:00
|
|
|
if [ "$BOARD_NAME" != "antsdr" ] &&[ "$BOARD_NAME" != "sdrpi" ] && [ "$BOARD_NAME" != "zc706_fmcs2" ] && [ "$BOARD_NAME" != "zc702_fmcs2" ] && [ "$BOARD_NAME" != "zed_fmcs2" ] && [ "$BOARD_NAME" != "adrv9361z7035" ] && [ "$BOARD_NAME" != "adrv9364z7020" ] && [ "$BOARD_NAME" != "zcu102_fmcs2" ] && [ "$BOARD_NAME" != "zcu102_9371" ]; then
|
2022-05-13 15:01:41 +00:00
|
|
|
echo "\$BOARD_NAME is not correct. Please check!"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
echo "\$BOARD_NAME is found!"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d "$OPENWIFI_HW_DIR/boards/$BOARD_NAME" ]; then
|
|
|
|
echo "\$OPENWIFI_HW_DIR is found!"
|
|
|
|
else
|
|
|
|
echo "\$OPENWIFI_HW_DIR is not correct. Please check!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# uncompress the system.hdf and system_top.bit for use
|
|
|
|
mkdir -p hdf_and_bit
|
|
|
|
tar -zxvf $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/hdf_and_bit.tar.gz -C ./hdf_and_bit
|
|
|
|
cp ./hdf_and_bit/$BOARD_NAME/sdk/system_top_hw_platform_0/system.hdf $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/ -rf
|
|
|
|
cp ./hdf_and_bit/$BOARD_NAME/sdk/system_top_hw_platform_0/system_top.bit $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/ -rf
|
|
|
|
|
|
|
|
BIT_FILENAME=$OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/system_top.bit
|
|
|
|
|
|
|
|
if [ -f "$BIT_FILENAME" ]; then
|
|
|
|
echo "\$BIT_FILENAME is found!"
|
|
|
|
else
|
|
|
|
echo "\$BIT_FILENAME does NOT exist. Please check!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then
|
|
|
|
ARCH="zynqmp"
|
|
|
|
ARCH_BIT=64
|
|
|
|
else
|
|
|
|
ARCH="zynq"
|
|
|
|
ARCH_BIT=32
|
|
|
|
fi
|
|
|
|
|
|
|
|
# FINAL_BIT_FILENAME=$BOARD_NAME\_system_top_reload.bit.bin
|
|
|
|
|
|
|
|
source $XILINX_DIR/SDK/2018.3/settings64.sh
|
|
|
|
|
|
|
|
set -x
|
|
|
|
|
|
|
|
cp $BIT_FILENAME ./
|
|
|
|
bootgen -image system_top.bif -arch $ARCH -process_bitstream bin -w
|
|
|
|
|
|
|
|
# cp system_top_reload.bit.bin ./$FINAL_BIT_FILENAME
|
|
|
|
|
|
|
|
cd ../driver
|
2022-05-31 10:47:09 +00:00
|
|
|
make clean
|
2022-05-13 15:01:41 +00:00
|
|
|
./make_all.sh $XILINX_DIR $ARCH_BIT
|
|
|
|
cd ../user_space
|
|
|
|
mkdir -p drv_and_fpga
|
|
|
|
rm -rf drv_and_fpga/*
|
|
|
|
cp system_top.bit.bin ../driver/tx_intf/tx_intf.ko ../driver/rx_intf/rx_intf.ko ../driver/openofdm_tx/openofdm_tx.ko ../driver/openofdm_rx/openofdm_rx.ko ../driver/xpu/xpu.ko ../driver/sdr.ko ./drv_and_fpga -f
|
|
|
|
cp $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/git_info.txt ./drv_and_fpga -f
|
|
|
|
tar -cvf ./drv_and_fpga/driver.tar $(git ls-files ../driver/)
|
|
|
|
|
|
|
|
dir_save=$(pwd)
|
|
|
|
|
|
|
|
cd $OPENWIFI_HW_DIR/ip/
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-root.tar $(git ls-files ./ | grep -v -E "/|openofdm_rx")
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-xpu.tar $(git ls-files ./xpu)
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-tx_intf.tar $(git ls-files ./tx_intf)
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-rx_intf.tar $(git ls-files ./rx_intf)
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-openofdm_tx.tar $(git ls-files ./openofdm_tx)
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-side_ch.tar $(git ls-files ./side_ch)
|
|
|
|
|
|
|
|
cd ../boards
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-root.tar $(git ls-files ./ | grep -v "/")
|
|
|
|
cd ./$BOARD_NAME
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-root.tar $(git ls-files ./ | grep -v "/")
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-src.tar $(git ls-files ./src)
|
|
|
|
tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-ip_repo.tar ip_repo
|
|
|
|
|
|
|
|
cd $dir_save
|
|
|
|
# tar -cvf drv_and_fpga.tar system_top.bit.bin tx_intf.ko rx_intf.ko openofdm_tx.ko openofdm_rx.ko xpu.ko sdr.ko git_info.txt
|
|
|
|
|
|
|
|
tar -zcvf drv_and_fpga.tar.gz drv_and_fpga
|
|
|
|
|
|
|
|
set +x
|