diff --git a/build.sh b/build.sh index 49dfc01..7f73dd9 100755 --- a/build.sh +++ b/build.sh @@ -39,35 +39,38 @@ done export DIR_ROOT=$(cd `dirname "$0"`;pwd) #echo "# script_dir:${DIR_ROOT}" -export RFIC_DIR=${DIR_ROOT}/driver/rfic/adrv9026 -export CJSON_DIR=${DIR_ROOT}/driver/rfic/ucp/cJSON -export RFIC_APP_DIR=${DIR_ROOT}/rfic export BUILD_DIR=${DIR_ROOT}/build - if [ -d ${BUILD_DIR} ]; then - rm -rf ${BUILD_DIR} + rm -rf ${BUILD_DIR} fi +mkdir -p ${BUILD_DIR} if [[ "${fronthaul_option}" == "jesd" ]]; then + export RFIC_DIR=${DIR_ROOT}/driver/rfic/adrv9026 + export CJSON_DIR=${DIR_ROOT}/driver/rfic/ucp/cJSON + export RFIC_APP_DIR=${DIR_ROOT}/rfic export BOARD_TYPE=${board_option} - chmod +x build_jesd.sh - source ./build_jesd.sh - cp ${RFIC_DIR}/out/rfic/*.a ${DIR_ROOT}/lib - cp ${RFIC_DIR}/out/rfic/*.h ${DIR_ROOT}/interface - cp ${RFIC_DIR}/out/jesd/*.a ${DIR_ROOT}/lib - cp ${RFIC_DIR}/out/jesd/*.h ${DIR_ROOT}/interface - mkdir -p ${BUILD_DIR} - cp ${DIR_ROOT}/lib/*.a ${BUILD_DIR}/ - #cp ${BUILD_DIR}/librfic.a ${RFIC_APP_DIR}/lib/ - cp ${DIR_ROOT}/interface/ucp_api_rfic.h ${RFIC_APP_DIR}/inc/ + echo -e "\n" + echo "###### start building libjesd.a and librfic.a ######" + cd ${DIR_ROOT}/driver/rfic + chmod +x build.sh + source ./build.sh + cp ${RFIC_DIR}/out/jesd/*.a ${BUILD_DIR} + cp ${RFIC_DIR}/out/jesd/*.h ${DIR_ROOT}/interface + + cp ${RFIC_DIR}/out/rfic/*.a ${DIR_ROOT}/lib + cp ${RFIC_DIR}/out/rfic/ucp_api_rfic.h ${RFIC_APP_DIR}/inc/ cp ${CJSON_DIR}/xzJSON.h ${RFIC_APP_DIR}/inc/ - chmod +x build_rfic.sh - source ./build_rfic.sh - cp ${RFIC_APP_DIR}/build/*.out ${BUILD_DIR}/ + echo -e "\n" + echo "###### start building rfic.out ######" + cd ${RFIC_APP_DIR}/ + make fi +echo -e "\n" +echo "###### start building msgTransfer.out and libmsgTransfer.a ######" cd ${DIR_ROOT}/ make cache_option=${cache_option} fronthaul_option=${fronthaul_option} test_option=${test_option} test_id=${case_id} diff --git a/build_jesd.sh b/build_jesd.sh deleted file mode 100644 index 240a111..0000000 --- a/build_jesd.sh +++ /dev/null @@ -1,18 +0,0 @@ -set -e - -git submodule init -git submodule update --remote --merge --recursive driver/rfic - -pushd driver/rfic -git clean -dxf -git fetch -git checkout DEV -git pull -#git checkout commitid -#git submodule init -#git submodule update - -make clean -echo "#board_type:${BOARD_TYPE}" -make all board_type=${BOARD_TYPE} -popd \ No newline at end of file diff --git a/build_rfic.sh b/build_rfic.sh deleted file mode 100755 index e4bb6ff..0000000 --- a/build_rfic.sh +++ /dev/null @@ -1,7 +0,0 @@ -set -e - -pushd ./rfic -make clean -echo "start to build rfic.out and librfic_main.o" -make all -popd diff --git a/driver/rfic b/driver/rfic index 0391452..90ca99b 160000 --- a/driver/rfic +++ b/driver/rfic @@ -1 +1 @@ -Subproject commit 0391452992501a90564728d5e5844c3f724eee5f +Subproject commit 90ca99bb1fa523129a881a9e552136b0cabc1ead diff --git a/interface/ucp_api_rfic.h b/interface/ucp_api_rfic.h deleted file mode 100644 index f595c94..0000000 --- a/interface/ucp_api_rfic.h +++ /dev/null @@ -1,147 +0,0 @@ -//******************** (C) COPYRIGHT 2022 SmartLogic******************************* -// FileName : ucp_api_rfic.h -// Author : Boheng Lin bhlin919@126.com -// Date First Issued : 2023-03-04 17:39:00 PM -// Last Modified : -// Description : -// ------------------------------------------------------------ -// Modification History: -// Version Date Author Modification Description -// -//********************************************************************************** - -#ifndef UCP_API_RFIC_H_ -#define UCP_API_RFIC_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -//********************************************************************************** -// system option layer -/** -* \brief Sets up the cell's default config -* -* \param bw is bandwidth (Unit hz). -* -* \retval 0. -*/ -extern int32_t UCP_API_RFIC_CellInit(uint64_t bw); - -/** -* \brief Sets up the cell's default config -* -* \param txLo is Transmit local frequency (Unit hz). -* \param rxLo is Receive local frequency (Unit hz). -* \param initAtt is Initialize attenuation (Unit db, range 0 ~ 20). -* -* \retval 0. -*/ -extern int32_t UCP_API_RFIC_CellSetup(uint64_t txLo, uint64_t rxLo, uint16_t initAtt); - -/** -* \brief Sets up the transceiver's tx rx LO frenq, bandwidth, Initialize attenuation. -* then process Initialize transceiver -* -* \param txLo is Transmit local frequency (Unit hz). -* \param rxLo is Receive local frequency (Unit hz). -* \param bw is bandwidth (Unit hz). -* \param initAtt is Initialize attenuation (Unit db, range 0 ~ 20). -* -* \retval 0. -*/ -extern int32_t UCP_API_RFIC_CellDelete(void); - -//********************************************************************************** -// chip option layer -// TRANSCEIVER -/** -* \brief transceiver chip hardware reset. -* -* \param void. -* -* \retval void. -*/ -extern int32_t UCP_API_TRANSCEIVER_Reset(void); - -/** -* \brief Sets up the transceiver's MGC Mod. -* -* \param en, if set 1, MGC Mode; set 0, AGC Mode. -* -* \retval 0. -*/ -extern int32_t UCP_API_TRANSCEIVER_MGC_Cfg(uint8_t en); - -/** -* \brief Sets up the transceiver's rx gain at MGC mode. -* -* \param gain_db (Unit db, range 0~36, step 0.5db). -* -* \retval 0. -*/ -extern int32_t UCP_API_TRANSCEIVER_Gain_Set(double gain_db); - -/** -* \brief Get the transceiver's rx gain. -* -* \param gain_db (Unit db, range 0~36, step 0.5db). -* -* \retval gain_db (Unit db, range 0~36, step 0.5db). -*/ -extern double UCP_API_TRANSCEIVER_Gain_Get(void); - -/** -* \brief Set up the transceiver's tx attenuation. -* -* \param att_db (Unit db, range 0~20). -* -* \retval 0. -*/ -extern int32_t UCP_API_TRANSCEIVER_Att_Set(uint8_t att_db); - -/** -* \brief Get the transceiver's tx attenuation. -* -* \retval att_db (Unit db, range 0~20). -*/ -extern uint8_t UCP_API_TRANSCEIVER_Att_Get(void); - -//********************************************************************************** -// CLOCKGEN -/** -* \brief clockGen chip hardware reset. -* -* \param void. -* -* \retval void. -*/ -extern void UCP_API_CLOCKGEN_Reset(void); - -/** -* \brief clockGen chip init function. -* -* \param void. -* -* \retval void. -*/ -extern int32_t UCP_API_CLOCKGEN_Init(void); - -/** -* \brief Get the status of clockGen chip's pll. -* -* \param void. -* -* \retval lock code. -*/ -extern uint8_t UCP_API_CLOCKGEN_LockStatus(void); - -#ifdef __cplusplus -} -#endif - -#endif /* #ifndef UCP_API_RFIC_H_ */ - diff --git a/rfic/makefile b/rfic/makefile index 2ed63fd..e3f7254 100644 --- a/rfic/makefile +++ b/rfic/makefile @@ -16,8 +16,8 @@ else CROSS_CC ?= aarch64-linux-gnu- endif -AR = ar -CC = $(CROSS_CC)gcc +AR := ar +CC := $(CROSS_CC)gcc #$(info "CC=" $(CC)) git_id ?= $(shell git log -1 --format="%H") @@ -28,7 +28,7 @@ commit_time ?= $(shell date -d@$(commit_ts) +"%Y-%m-%d-%H:%M:%S") $(info "commit_ts=" $(commit_ts)) $(info "commit_time=" $(commit_time)) -DEFINES ?= RFIC_VER=\"commit_id:$(git_id),commit_time:$(commit_time)\" +#DEFINES ?= RFIC_VER=\"commit_id:$(git_id),commit_time:$(commit_time)\" #optimization level -O2 C_OPT_FLAGS ?= -O2 @@ -47,22 +47,16 @@ INCLUDE_DIRS ?= ./inc LD_FLAGS ?= -lgcc -lc LD_FLAGS += -lm -ldl -Wl,-rpath=./ LD_FLAGS += -lpthread -LD_FLAGS += ../lib/librfic.a +LD_FLAGS += -lrfic LD_FLAGS += -rdynamic -funwind-tables -ffunction-sections -$(info "DEFINES=" $(DEFINES)) - #Flatten files and remove the duplicate by sort ABS_SRC_DIRS := $(foreach d,$(SRC_DIRS),$(abspath $(d))) SRC_FILES := $(foreach d,$(ABS_SRC_DIRS),$(wildcard $(d)/*.c)) -#main.c -MAIN_DIR := ./src -MAIN_FILE := ./src/main.c - # Allow certain files to be excluded from the build -EXCL_SRCS ?= $(MAIN_FILE) +EXCL_SRCS ?= # Filter source files (allow files to be excluded) FINAL_SRCS_FILES += $(foreach f,$(SRC_FILES),$(if $(findstring $(abspath $(f)),$(abspath $(EXCL_SRCS))),,$(f))) @@ -71,13 +65,16 @@ FINAL_SRCS_FILES += $(foreach f,$(SRC_FILES),$(if $(findstring $(abspath $(f)),$ # ============================================================================== # Variables: Output Files # ============================================================================== -BUILD_DIR := ./build -OBJ_MAIN_DIR := $(BUILD_DIR)/main -OBJ_DIR := $(BUILD_DIR)/obj -BIN_FILE := $(BUILD_DIR)/rfic.out -LIB_FILE := $(BUILD_DIR)/librfic_main.a -BJ_FILES += $(foreach f,$(FINAL_SRCS_FILES),$(OBJ_DIR)/$(patsubst %.c,%.o,$(notdir $(f)))) -OBJ_MAIN_FILES += $(foreach f,$(MAIN_FILE),$(OBJ_MAIN_DIR)/$(patsubst %.c,%.o,$(notdir $(f)))) +#BUILD_DIR := ./build +ifeq ($(BOARD_TYPE),EVB) + BIN_FILE_NAME := rfic_evb.out +else + BIN_FILE_NAME := rfic_evmy.out +endif +#$(info "BUILD_DIR=" $(BUILD_DIR)) +OBJ_DIR := $(BUILD_DIR)/rfic +BIN_FILE := $(BUILD_DIR)/$(BIN_FILE_NAME) +OBJ_FILES += $(foreach f,$(FINAL_SRCS_FILES),$(OBJ_DIR)/$(patsubst %.c,%.o,$(notdir $(f)))) # ============================================================================== # Rules: Compilation @@ -101,9 +98,8 @@ define DO_BUILD endef $(eval $(call DO_BUILD,$(OBJ_DIR),$(ABS_SRC_DIRS))) -$(eval $(call DO_BUILD,$(OBJ_MAIN_DIR), $(abspath $(MAIN_DIR)))) -$(BIN_FILE):$(OBJ_FILES) $(OBJ_MAIN_FILES) +$(BIN_FILE):$(OBJ_FILES) # @echo "# Creating bin directory $(BIN_DIR)" # mkdir -p $(BIN_DIR) @@ -111,31 +107,18 @@ $(BIN_FILE):$(OBJ_FILES) $(OBJ_MAIN_FILES) $(CC) -o $@ $^ $(LD_FLAGS) $(patsubst %,-L %,$(LIB_DIRS)) # $(CC) -o $@ $^ $(LD_FLAGS) -T$(LINK_FILE) -$(LIB_FILE):$(OBJ_FILES) $(RFIC_OBJ_FILES) -# @echo "# Creating lib directory $(LIB_DIR)" -# mkdir -p $(LIB_DIR) - - @echo "# Linking objects to form $@" - $(AR) -rcs $@ $^ -# $(CC) -shared -o $@ $^ $(LD_FLAGS) - # ============================================================================== # Rules: Targets # ============================================================================== .DEFAULT_GOAL := all -.PHONY: build lib clean -all: build lib +.PHONY: build clean +all: build build: $(BIN_FILE) -lib: $(LIB_FILE) - clean: @echo "deleted all files" - rm -rf $(BUILD_DIR) - #rm -rf ./lib/librfic.a - #rm -rf ./inc/ucp_api_rfic.h - #rm -rf ./inc/xzJSON.h + #rm -rf $(BUILD_DIR)