diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index e4aa519f841c97efaeb1014f1b426f35b6a2f119..e81051171a6bb4e7deccd73c45ea3f01e3ec41c4 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -476,6 +476,9 @@ add_boolean_option(PHY_EMUL False "not clear: must remain False f add_boolean_option(PUCCH True "????") add_boolean_option(RANDOM_BF False "????") add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator") +add_boolean_option(DEBUG_PHY True "Enable PHY layer debugging options") +add_boolean_option(DEBUG_PHY_PROC True "Enable debugging of PHY layer procedures") +add_boolean_option(DEBUG_DLSCH True "Enable debugging of DLSCH physical layer channel") ########################## # 802.21 options diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 73924cee2a3a7a2796fcb9f7a43642bb891ef9bf..77cf24d8e9a0a38c826e48e42d357d22dee1feb6 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -46,6 +46,7 @@ VCD_TIMING="False" REL="Rel10" HW="EXMIMO" EPC=0 +VERBOSE_COMPILE=0 function print_help() { echo_info ' @@ -100,6 +101,8 @@ Options (will ask root password) --noS1 Compiles oaisim or lte-softmodem without S1 interface, using direct link to IP instead +--verbose-compile + Shows detailed compilation instructions in makefile Usage (first build): oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files @@ -202,6 +205,10 @@ function main() { NOS1=1 echo_info "Will compile without S1 interface" shift;; + --verbose-compile) + VERBOSE_COMPILE=1 + echo_info "Will compile with verbose instructions" + shift;; -h | --help) print_help exit 1;; diff --git a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template b/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template index 1ccd57fffda1b22e705436528bbf91d662519273..a9055101501a3c6a5ee1212e7c8f50258274dc1b 100644 --- a/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template +++ b/cmake_targets/oaisim_noS1_build_oai/CMakeLists.template @@ -80,3 +80,6 @@ set ( USE_3GPP_ADDR_AS_LINK_ADDR False ) set ( USE_MME "R10" ) set ( USER_MODE True ) set ( XER_PRINT False ) +set ( DEBUG_PHY False ) +set ( DEBUG_PHY_PROC False) +set ( DEBUG_DLSCH False) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 5d5be1a1be55b416059dbb042831425c001f1abd..100effd872ed01260bd5054a4685afa202065557 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -112,7 +112,7 @@ compilations() { cd $OPENAIR_DIR/cmake_targets/$1/build { rm -f $3 - make -j`nproc` $2 + make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE } > $dlog/$2.$REL.txt 2>&1 echo_info "Log file for compilation has been written to: $dlog/$2.$REL.txt" if [ -s $3 ] ; then diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 2db9023ecc403a876d53bb6d04f19f634d980354..fcddd63e194bd74c53d7bcc45b3b3076a850f69f 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -49,7 +49,7 @@ #include "SCHED/phy_procedures_emos.h" #endif -#define DEBUG_PHY_PROC +//#define DEBUG_PHY_PROC (Already defined in cmake) //#define DEBUG_ULSCH //#ifdef OPENAIR2 @@ -2192,6 +2192,8 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e #ifdef DEBUG_PHY_PROC #ifdef DEBUG_DLSCH + //FIXME: The code below is commented as next_slot is not defined which results in failed compilation + /* LOG_D(PHY,"[eNB %"PRIu8"][SI] Frame %d, slot %d: Calling generate_dlsch (SI) with input size = %"PRIu16", num_pdcch_symbols %"PRIu8"\n", phy_vars_eNB->Mod_id,phy_vars_eNB->proc[sched_subframe].frame_tx, next_slot, input_buffer_length,num_pdcch_symbols); // FIXME this code is broken (next_slot?) @@ -2199,6 +2201,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e LOG_T(PHY,"%x.",i,DLSCH_pdu[i]);// FIXME this code is broken (number of arguments) LOG_T(PHY,"\n"); + */ #endif #endif diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c index 22a38904d0afa3838a3a436236225cf7c3f362c3..99ce31e4478db7bd60fdf8a6cbc59de2d5a2ebcc 100755 --- a/openair1/SCHED/phy_procedures_lte_ue.c +++ b/openair1/SCHED/phy_procedures_lte_ue.c @@ -2824,7 +2824,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac #ifdef DEBUG_PHY_PROC - for (i=0; i<11; i++) + for (int i=0; i<11; i++) LOG_D(PHY,"dlsch_output_buffer[%d]=%x\n",i,phy_vars_ue->dlsch_ue_SI[eNB_id]->harq_processes[0]->c[0][i]); #endif @@ -3377,7 +3377,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac dump_mch(phy_vars_ue,0,phy_vars_ue->dlsch_ue_MCH[0]->harq_processes[0]->G,subframe_rx); #ifdef DEBUG_DLSCH - for (i=0; i<phy_vars_ue->dlsch_ue_MCH[0]->harq_processes[0]->TBS>>3; i++) { + for (int i=0; i<phy_vars_ue->dlsch_ue_MCH[0]->harq_processes[0]->TBS>>3; i++) { LOG_T(PHY,"%02x.",phy_vars_ue->dlsch_ue_MCH[0]->harq_processes[0]->c[0][i]); } @@ -3432,7 +3432,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstrac phy_vars_rn->dlsch_rn_MCH[subframe_rx]->harq_processes[0]->TBS>>3); #ifdef DEBUG_PHY - for (i=0; i<phy_vars_rn->dlsch_rn_MCH[subframe_rx]->harq_processes[0]->TBS>>3; i++) + for (int i=0; i<phy_vars_rn->dlsch_rn_MCH[subframe_rx]->harq_processes[0]->TBS>>3; i++) msg("%02x ",phy_vars_rn->dlsch_rn_MCH[subframe_rx]->harq_processes[0]->b[i]); msg("\n");