1 2#!/bin/bash 3 4# Author: Xianjun Jiao 5# SPDX-FileCopyrightText: 2022 UGent 6# SPDX-License-Identifier: AGPL-3.0-or-later 7 8if [ "$#" -ne 3 ]; then 9 echo "You have input $# arguments." 10 echo "You must enter exactly 3 arguments: \$OPENWIFI_HW_DIR \$XILINX_DIR \$BOARD_NAME" 11 exit 1 12fi 13 14OPENWIFI_HW_DIR=$1 15XILINX_DIR=$2 16BOARD_NAME=$3 17 18if [ -d "$XILINX_DIR/SDK" ]; then 19 echo "\$XILINX_DIR is found!" 20else 21 echo "\$XILINX_DIR is not correct. Please check!" 22 exit 1 23fi 24 25if [ "$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 26 echo "\$BOARD_NAME is not correct. Please check!" 27 exit 1 28else 29 echo "\$BOARD_NAME is found!" 30fi 31 32if [ -d "$OPENWIFI_HW_DIR/boards/$BOARD_NAME" ]; then 33 echo "\$OPENWIFI_HW_DIR is found!" 34else 35 echo "\$OPENWIFI_HW_DIR is not correct. Please check!" 36 exit 1 37fi 38 39# uncompress the system.hdf and system_top.bit for use 40mkdir -p hdf_and_bit 41tar -zxvf $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/hdf_and_bit.tar.gz -C ./hdf_and_bit 42cp ./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 43cp ./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 44 45BIT_FILENAME=$OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/system_top.bit 46 47if [ -f "$BIT_FILENAME" ]; then 48 echo "\$BIT_FILENAME is found!" 49else 50 echo "\$BIT_FILENAME does NOT exist. Please check!" 51 exit 1 52fi 53 54if [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then 55 ARCH="zynqmp" 56 ARCH_BIT=64 57else 58 ARCH="zynq" 59 ARCH_BIT=32 60fi 61 62# FINAL_BIT_FILENAME=$BOARD_NAME\_system_top_reload.bit.bin 63 64source $XILINX_DIR/SDK/2018.3/settings64.sh 65 66set -x 67 68cp $BIT_FILENAME ./ 69bootgen -image system_top.bif -arch $ARCH -process_bitstream bin -w 70 71# cp system_top_reload.bit.bin ./$FINAL_BIT_FILENAME 72 73cd ../driver 74make clean 75./make_all.sh $XILINX_DIR $ARCH_BIT 76cd ../user_space 77mkdir -p drv_and_fpga 78rm -rf drv_and_fpga/* 79cp 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 80cp $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/git_info.txt ./drv_and_fpga -f 81tar -cvf ./drv_and_fpga/driver.tar $(git ls-files ../driver/) 82 83dir_save=$(pwd) 84 85cd $OPENWIFI_HW_DIR/ip/ 86tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-root.tar $(git ls-files ./ | grep -v -E "/|openofdm_rx") 87tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-xpu.tar $(git ls-files ./xpu) 88tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-tx_intf.tar $(git ls-files ./tx_intf) 89tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-rx_intf.tar $(git ls-files ./rx_intf) 90tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-openofdm_tx.tar $(git ls-files ./openofdm_tx) 91tar -cvf $dir_save/drv_and_fpga/openwifi-hw-ip-side_ch.tar $(git ls-files ./side_ch) 92 93cd ../boards 94tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-root.tar $(git ls-files ./ | grep -v "/") 95cd ./$BOARD_NAME 96tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-root.tar $(git ls-files ./ | grep -v "/") 97tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-src.tar $(git ls-files ./src) 98tar -cvf $dir_save/drv_and_fpga/openwifi-hw-boards-$BOARD_NAME-ip_repo.tar ip_repo 99 100cd $dir_save 101# 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 102 103tar -zcvf drv_and_fpga.tar.gz drv_and_fpga 104 105set +x 106