add options
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7161 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -72,14 +72,92 @@ function is_tun_interface()
|
||||
echo "$my_bool"
|
||||
}
|
||||
|
||||
# $1 is enb_config file
|
||||
|
||||
function help()
|
||||
{
|
||||
echo_error " "
|
||||
echo_error "Usage: start_enb_ue_virt_s1 [OPTION]..."
|
||||
echo_error "Run the eNB and/or UE executable with no hardware."
|
||||
echo_error " "
|
||||
echo_error "Options:"
|
||||
echo_error "Mandatory arguments to long options are mandatory for short options too."
|
||||
echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
|
||||
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 " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
|
||||
echo_error " -x, --xforms Run XFORMS scope windows."
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main()
|
||||
{
|
||||
|
||||
local -i run_gdb=0
|
||||
local exe_arguments=""
|
||||
local CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
||||
|
||||
until [ -z "$1" ]
|
||||
do
|
||||
case "$1" in
|
||||
-c | -C | --config-file)
|
||||
CONFIG_FILE_ENB=$2
|
||||
# may be relative path
|
||||
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
|
||||
CONFIG_FILE_ENB=$(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_ENB ]; then
|
||||
echo "setting config file to: $CONFIG_FILE_ENB"
|
||||
else
|
||||
echo_fatal "config file $CONFIG_FILE_ENB not found"
|
||||
fi
|
||||
fi
|
||||
exe_arguments="$exe_arguments --enb-conf $CONFIG_FILE_ENB"
|
||||
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/itti_enb_ue_s1.log"
|
||||
shift 1;
|
||||
else
|
||||
shift 2;
|
||||
fi
|
||||
echo "setting ITTI dump file to: $ITTI_DUMP_FILE"
|
||||
exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
|
||||
;;
|
||||
|
||||
-V | --vcd)
|
||||
"setting gtk-wave output"
|
||||
exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
|
||||
shift ;
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option $1"
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
set_openair_env
|
||||
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
|
||||
|
||||
local CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
|
||||
|
||||
|
||||
#######################################################
|
||||
# SOURCE CONFIG FILE
|
||||
@@ -135,12 +213,19 @@ function main()
|
||||
$SUDO ip rule add fwmark 5 table lte
|
||||
$SUDO ip route add default dev oip1 table lte
|
||||
|
||||
|
||||
gdb --args $OPENAIR_DIR/targets/bin/oaisim \
|
||||
-u1 -l9 \
|
||||
-K itti_enb_ue_s1.log \
|
||||
--enb-conf $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf | tee stdout_enb_ue_s1.log
|
||||
|
||||
exe_arguments="$exe_arguments -u1 -l9"
|
||||
|
||||
if [ $run_gdb -eq 0 ]; then
|
||||
exec $OPENAIR_DIR/targets/bin/oaisim $exe_arguments
|
||||
else
|
||||
touch ~/.gdb_enb_ue_s1
|
||||
chmod 777 ~/.gdb_enb_ue_s1
|
||||
echo "file $OPENAIR_DIR/targets/bin/oaisim" > ~/.gdb_enb_ue_s1
|
||||
echo "set args $exe_arguments" >> ~/.gdb_enb_ue_s1
|
||||
echo "run" >> ~/.gdb_enb_ue_s1
|
||||
cat ~/.gdb_enb_ue_s1
|
||||
gdb -n -x ~/.gdb_enb_ue_s1 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user