git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7280 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Executable
+174
@@ -0,0 +1,174 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# OpenAirInterface
|
||||
# Copyright(c) 1999 - 2014 Eurecom
|
||||
#
|
||||
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) anylater version.
|
||||
#
|
||||
#
|
||||
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenAirInterface.The full GNU General Public License is
|
||||
# included in this distribution in the file called "COPYING". If not,
|
||||
# see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Contact Information
|
||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
|
||||
#
|
||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||
#
|
||||
################################################################################
|
||||
# file run_enb_s1_usrp
|
||||
# brief run script for eNB USRP.
|
||||
# author Lionel GAUTHIER
|
||||
# company Eurecom
|
||||
# email: lionel.gauthier@eurecom.fr
|
||||
|
||||
|
||||
################################
|
||||
# include helper functions
|
||||
################################
|
||||
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
|
||||
source $THIS_SCRIPT_PATH/build_helper
|
||||
|
||||
|
||||
function help()
|
||||
{
|
||||
echo_error " "
|
||||
echo_error "Usage: run_enb_s1_usrp -c config_file [OPTION]..."
|
||||
echo_error "Run the eNB executable, hardware target is USRP."
|
||||
echo_error " "
|
||||
echo_error "Mandatory arguments:"
|
||||
echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
|
||||
echo_error " "
|
||||
echo_error "Options:"
|
||||
echo_error "Mandatory arguments to long options are mandatory for short options too."
|
||||
echo_error " -g, --gdb Run with GDB."
|
||||
echo_error " -h, --help Print this help."
|
||||
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
||||
echo_error " -M, --target-dl-mcs mcs Downlink target MCS."
|
||||
echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
||||
echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
|
||||
echo_error " -T, --target-ul-mcs mcs Uplink target MCS."
|
||||
echo_error " -x, --xforms Run XFORMS scope windows."
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main()
|
||||
{
|
||||
local -i run_gdb=0
|
||||
local exe_arguments=""
|
||||
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | -C | --config-file)
|
||||
CONFIG_FILE=$2
|
||||
# may be relative path
|
||||
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
|
||||
CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE
|
||||
echo "setting config file to: $CONFIG_FILE"
|
||||
CONFIG_FILE_ACCESS_OK=1
|
||||
else
|
||||
# may be absolute path
|
||||
if [ -f $CONFIG_FILE ]; then
|
||||
echo "setting config file to: $CONFIG_FILE"
|
||||
else
|
||||
echo_fatal "config file $CONFIG_FILE not found"
|
||||
fi
|
||||
fi
|
||||
exe_arguments="$exe_arguments -O $CONFIG_FILE"
|
||||
shift 2;
|
||||
;;
|
||||
-g | --gdb)
|
||||
run_gdb=1
|
||||
echo "setting GDB flag to: $GDB"
|
||||
shift;
|
||||
;;
|
||||
-h | --help)
|
||||
help
|
||||
shift;
|
||||
exit 0
|
||||
;;
|
||||
-K | --itti-dump-file)
|
||||
ITTI_DUMP_FILE=$2
|
||||
# can omit file name if last arg on the line
|
||||
if [ "x$ITTI_DUMP_FILE" = "x" ]; then
|
||||
ITTI_DUMP_FILE="/tmp/enb_s1_usrp_itti.log"
|
||||
shift 1;
|
||||
else
|
||||
shift 2;
|
||||
fi
|
||||
echo "setting ITTI dump file to: $ITTI_DUMP_FILE"
|
||||
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
||||
;;
|
||||
-M | --target-dl-mcs)
|
||||
echo "setting target dl MCS to $2"
|
||||
exe_arguments="$exe_arguments -m $2"
|
||||
shift 2;
|
||||
;;
|
||||
-V | --vcd)
|
||||
"setting gtk-wave output"
|
||||
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
|
||||
shift ;
|
||||
;;
|
||||
-S | --enable-missed-slot)
|
||||
echo "setting continue even if missed slot"
|
||||
exe_arguments="$exe_arguments -S"
|
||||
shift ;
|
||||
;;
|
||||
-T | --target-ul-mcs)
|
||||
echo "setting target ul MCS to $2"
|
||||
exe_arguments="$exe_arguments -t $2"
|
||||
shift 2;
|
||||
;;
|
||||
-x | --xforms)
|
||||
exe_arguments="$exe_arguments -d"
|
||||
echo "setting xforms to: $XFORMS"
|
||||
shift;
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
set_openair_env
|
||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||
|
||||
|
||||
if [ ! -e $OPENAIR_DIR/targets/bin/lte-softmodem ]; then
|
||||
echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/lte-softmodem executable"
|
||||
fi
|
||||
|
||||
|
||||
if [ $run_gdb -eq 0 ]; then
|
||||
exec $OPENAIR_DIR/targets/bin/lte-softmodem `echo $exe_arguments` 2>&1 > /tmp/lte_softmodem.stdout.txt
|
||||
else
|
||||
touch ~/.gdb_lte_softmodem
|
||||
chmod 777 ~/.gdb_lte_softmodem
|
||||
echo "file $OPENAIR_DIR/targets/bin/lte-softmodem" > ~/.gdb_lte_softmodem
|
||||
echo "set args $exe_arguments" >> ~/.gdb_lte_softmodem
|
||||
echo "run" >> ~/.gdb_lte_softmodem
|
||||
cat ~/.gdb_lte_softmodem
|
||||
gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user