diff --git a/Common/common.Makefile b/Common/common.Makefile index bde7f8e12..66156b6af 100755 --- a/Common/common.Makefile +++ b/Common/common.Makefile @@ -37,14 +37,14 @@ ARM64_CROSS_AS := aarch64-fsl-linux-as ifeq ($(TARGET_TYPE), KO) ARM64_CROSS_LD := aarch64-fsl-linux-ld -LINUX_CROSS_LD := ld +LINUX_CROSS_LD := ld else ARM64_CROSS_LD := $(ARM64_CROSS_CC) LINUX_CROSS_LD := $(CC) endif # 检查必要的环境变量是否设置 -ifeq ($(PLAT_ARM64), TRUE) +ifeq ($(PLAT_ARM64), TRUE) # ARM64 SDK 环境变量 ifeq ($(SDKTARGETSYSROOT), ) @@ -83,7 +83,7 @@ endif ifeq ($(ENABLE_MAKE_LOG), TRUE) MLOG := else -MLOG ?= @ +MLOG ?= @ endif # 判断构建模式 debug/release @@ -101,8 +101,8 @@ INSTALL_ROOT := $(addprefix ../,$(DIR)/$(TARGET_OUT_DIR)) endif # 定义常用命令 -RM = rm -rf -MKDIR = mkdir -p +RM = rm -rf +MKDIR = mkdir -p CP = cp -f ECHO_COLOR = echo @@ -112,7 +112,7 @@ ARM64_KERNEL := $(HUACHENG_ARM64_KERNEL) LINUX_KERNEL := $(HUACHENG_LINUX_KERNEL) endif -# 设置 ARM64 平台 SDK 头文件和库文件路径 +# 设置 ARM64 平台 SDK 头文件和库文件路径 ARM64_SDK_INCLUDE := $(SDKTARGETSYSROOT)/usr/include ARM64_SDK_LIBDIR := $(SDKTARGETSYSROOT)/usr/lib @@ -164,7 +164,7 @@ INSTALL_IDK_ITEM_COLOR := \033[36;48m\033[1m[INSTALL IDK ITEMS]\033[0m TARGET_TYPE_COLOR := \t\033[35;48m\033[1m$(shell env printf "%5s" [$(TARGET_TYPE)])\033[0m -TARGET_OBJ_COLOR := \t\033[34;48m\033[1m$(shell env printf "%5s" [$(TARGET_OBJ)])\033[0m +TARGET_OBJ_COLOR := \t\033[34;48m\033[1m$(shell env printf "%5s" [$(TARGET_OBJ)])\033[0m TARGET_MIX_COLOR := $(TARGET_TYPE_COLOR)$(TARGET_OBJ_COLOR) PLAT_ARM64_COLOR := $(MAKECMD_COLOR)\033[32;48m\033[1m$(shell env printf "%-8s" [ARM64])\033[0m$(TARGET_MIX_COLOR) PLAT_LINUX_COLOR := $(MAKECMD_COLOR)\033[32;48m\033[1m$(shell env printf "%-8s" [LINUX])\033[0m$(TARGET_MIX_COLOR) @@ -185,15 +185,15 @@ LINUX_EXTFLAG += -w endif TARGET_BOX ?= $(TARGET_NAME) - -# 设置编译参数 + +# 设置编译参数 ifeq ($(TARGET_OBJ), DRV) ifeq ($(PLAT_LINUX), TRUE) LINUX_SYSTEM = $(shell $(CC) -print-file-name=include) endif -ifeq ($(PLAT_ARM64), TRUE) +ifeq ($(PLAT_ARM64), TRUE) ARM64_SYSTEM = $(shell $(ARM64_CROSS_CC) -print-file-name=include) endif @@ -227,7 +227,7 @@ LINUX_EXTFLAG += $(DEBUG_CFLAGS) $(LINUX_DRV_CFLAGS) \ -I$(LINUX_KERNEL)/include/generated/uapi \ -include $(LINUX_KERNEL)/include/linux/kconfig.h -# ARM64 linux 内核模块编译参数,提取自 arm 模块编译命令行 +# ARM64 linux 内核模块编译参数,提取自 arm 模块编译命令行 ARM64_DRV_CFLAGS := -nostdinc -isystem $(ARM64_SYSTEM) \ -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing \ -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 \ @@ -238,7 +238,7 @@ ARM64_DRV_CFLAGS := -nostdinc -isystem $(ARM64_SYSTEM) \ -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -Wdeclaration-after-statement -Wno-pointer-sign \ -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack \ -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types \ - -DKBUILD_BASENAME='"$(TARGET_NAME).mod"' -DKBUILD_MODNAME='"$(TARGET_NAME)"' -DMODULE -mcmodel=large + -DKBUILD_BASENAME='"$(TARGET_NAME).mod"' -DKBUILD_MODNAME='"$(TARGET_NAME)"' -DMODULE -mcmodel=large ARM64_EXTFLAG += $(DEBUG_CFLAGS) $(ARM64_DRV_CFLAGS) \ -I$(ARM64_KERNEL)/arch/arm64/include \ @@ -248,14 +248,14 @@ ARM64_EXTFLAG += $(DEBUG_CFLAGS) $(ARM64_DRV_CFLAGS) \ -I$(ARM64_KERNEL)/arch/arm64/include/uapi \ -I$(ARM64_KERNEL)/include/uapi \ -I$(ARM64_KERNEL)/include/generated/uapi \ - -include $(ARM64_KERNEL)/include/linux/kconfig.h + -include $(ARM64_KERNEL)/include/linux/kconfig.h # x86 Linux 内核模块链接参数,提取自 x86 模块连接命令行 -LINUX_DRV_LDFLAGS = -r -m elf_x86_64 -z max-page-size=0x200000 -T $(LINUX_KERNEL)/scripts/module-common.lds --build-id +LINUX_DRV_LDFLAGS = -r -m elf_x86_64 -z max-page-size=0x200000 -T $(LINUX_KERNEL)/scripts/module-common.lds --build-id # arm64 Linux 内核模块链接参数,提取自 arm64 模块连接命令行 ARM64_DRV_LDFLAGS = -EL -r -T $(ARM64_KERNEL)/scripts/module-common.lds --build-id else ifeq ($(TARGET_OBJ), APP) -# 用户态模块编译参数 +# 用户态模块编译参数 ARM64_EXTFLAG += $(DEBUG_CFLAGS) -I$(ARM64_SDK_INCLUDE) # show all warring @@ -334,10 +334,10 @@ PLAT_ARM64_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-arm64$(TARGET_EXT) PLAT_LINUX_TARGET := $(TARGET_PREFIX)$(TARGET_NAME)-linux$(TARGET_EXT) # ARM64 平台生成目标、编译参数、链接参数、依赖库 -ifeq ($(PLAT_ARM64), TRUE) +ifeq ($(PLAT_ARM64), TRUE) BUILD_TARGET += $(PLAT_ARM64_TARGET) - PLAT_ARM64_CFLAGS += -DPLATFORM_ARM64 $(ARM64_EXTFLAG) - PLAT_ARM64_LDFLAGS += $(ARM64_DRV_LDFLAGS) + PLAT_ARM64_CFLAGS += -DPLATFORM_ARM64 $(ARM64_EXTFLAG) + PLAT_ARM64_LDFLAGS += $(ARM64_DRV_LDFLAGS) PLAT_ARM64_LIBFLAGS := $(ARM64_LIBFLAGS) PLAT_ARM64_LIBS := $(ARM64_LIBS) endif @@ -345,10 +345,10 @@ endif # ARM64 平台生成目标、编译参数、链接参数、依赖库 ifeq ($(PLAT_LINUX), TRUE) BUILD_TARGET += $(PLAT_LINUX_TARGET) - PLAT_LINUX_CFLAGS += -DPLATFORM_LINUX $(LINUX_EXTFLAG) + PLAT_LINUX_CFLAGS += -DPLATFORM_LINUX $(LINUX_EXTFLAG) PLAT_LINUX_LDFLAGS += $(LINUX_DRV_LDFLAGS) PLAT_LINUX_LIBFLAGS := $(LINUX_LIBFLAGS) - PLAT_LINUX_LIBS := $(LINUX_LIBS) + PLAT_LINUX_LIBS := $(LINUX_LIBS) endif # 根据源文件推算出生成目标的依赖项 @@ -386,7 +386,7 @@ endif endif ifeq ($(UNMAKE_PROCESS), TRUE) -BUILD_TARGET := +BUILD_TARGET := endif ifneq ($(OPT), clean) @@ -407,8 +407,8 @@ endif endif endif -.PHONY : all -all: $(BUILD_TARGET) +.PHONY : all +all: $(BUILD_TARGET) # Build ARM64 ifeq ($(PLAT_ARM64), TRUE) $(PLAT_ARM64_TARGET): $(PLAT_ARM64_OBJS) @@ -417,32 +417,32 @@ $(PLAT_ARM64_TARGET): $(PLAT_ARM64_OBJS) ifeq ($(TARGET_TYPE), LIB) # 打包生成库文件 @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) AR $@" - $(MLOG)$(ARM64_CROSS_AR) $(PLAT_ARM64_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(PLAT_ARM64_LIBS) + $(MLOG)$(ARM64_CROSS_AR) $(PLAT_ARM64_LIBFLAGS) $(TARGET_OUT_DIR)$@ $+ $(PLAT_ARM64_LIBS) else # 链接生成可执行文件 @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) LD $@" $(MLOG)$(ARM64_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(PLAT_ARM64_LDFLAGS) $+ $(PLAT_ARM64_LIBS) ifeq ($(TARGET_STRIP), TRUE) -# 将目标的调试信息复制到另外一个新文件中 +# 将目标的调试信息复制到另外一个新文件中 @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) OBJCOPY $@.debug" $(MLOG)$(ARM64_CROSS_OBJCOPY) --only-keep-debug $(TARGET_OUT_DIR)$@ $(TARGET_OUT_DIR)/$@.debug -# 清理掉目标中的调试信息 +# 清理掉目标中的调试信息 @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) STRIP $@" $(MLOG)$(ARM64_CROSS_STRIP) -g $(TARGET_OUT_DIR)$@ -# 建立目标文件和调试信息文件的管理,供 gdb 自动识别 +# 建立目标文件和调试信息文件的管理,供 gdb 自动识别 @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) OBJCOPY $@" $(MLOG)$(ARM64_CROSS_OBJCOPY) --add-gnu-debuglink=$(TARGET_OUT_DIR)$@.debug $(TARGET_OUT_DIR)$@ -endif +endif endif # C 源文件编译规则 -$(PLAT_ARM64_DIR)/%.o : %.c +$(PLAT_ARM64_DIR)/%.o : %.c -@test -d $(dir $@) || $(MKDIR) $(dir $@) @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<" - $(MLOG)$(ARM64_CROSS_CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(PLAT_ARM64_CFLAGS) -o $@ -c $< - -# 汇编文件编译规则 + $(MLOG)$(ARM64_CROSS_CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(PLAT_ARM64_CFLAGS) -o $@ -c $< + +# 汇编文件编译规则 $(PLAT_ARM64_DIR)/%.o : %.s - @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<" + @$(ECHO_COLOR) "$(PLAT_ARM64_COLOR) CC $<" $(MLOG)$(ARM64_CROSS_CC) -c $< -o $@ endif @@ -459,32 +459,32 @@ else # 链接生成可执行文件 @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) LD $@" $(MLOG)$(LINUX_CROSS_LD) -o $(TARGET_OUT_DIR)$@ $(PLAT_LINUX_LDFLAGS) $+ $(PLAT_LINUX_LIBS) -ifeq ($(TARGET_STRIP), TRUE) +ifeq ($(TARGET_STRIP), TRUE) # 将目标的调试信息复制到另外一个新文件中 @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) OBJCOPY $@.debug" $(MLOG)$(OBJCOPY) --only-keep-debug $(TARGET_OUT_DIR)$@ $(TARGET_OUT_DIR)$@.debug -# 清理掉目标中的调试信息 +# 清理掉目标中的调试信息 @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) STRIP $@" $(MLOG)$(STRIP) -g $(TARGET_OUT_DIR)$@ -# 建立目标文件和调试信息文件的管理,供 gdb 自动识别 +# 建立目标文件和调试信息文件的管理,供 gdb 自动识别 @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) OBJCOPY $@" $(MLOG)$(OBJCOPY) --add-gnu-debuglink=$(TARGET_OUT_DIR)$@.debug $(TARGET_OUT_DIR)$@ -endif +endif endif # C 源文件编译规则 $(PLAT_LINUX_DIR)/%.o : %.c -@test -d $(dir $@) || $(MKDIR) $(dir $@) - @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<" + @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<" $(MLOG)$(CC) -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" $(PLAT_LINUX_CFLAGS) -o $@ -c $< -# 汇编文件编译规则 +# 汇编文件编译规则 $(PLAT_LINUX_DIR)/%.o : %.s - @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<" - $(MLOG)$(CC) -c $< -o $@ + @$(ECHO_COLOR) "$(PLAT_LINUX_COLOR) CC $<" + $(MLOG)$(CC) -c $< -o $@ endif - -# 安装功能 + +# 安装功能 .PHONY : install install: ifeq ($(INSTALL_ROOT), ) @@ -500,7 +500,7 @@ ifneq ($(UNMAKE_PROCESS), TRUE) @$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_ARM64_COLOR) $(TARGET_OUT_DIR)$(PLAT_ARM64_TARGET) $(PLAT_ARM64_TARGET).debug $(INSTALL_PATH_COLOR)" @$(CP) $(TARGET_OUT_DIR)/$(PLAT_ARM64_TARGET) $(PLAT_ARM64_PUBLISH_DIR) @$(CP) $(TARGET_OUT_DIR)/$(PLAT_ARM64_TARGET).debug $(PLAT_ARM64_PUBLISH_DEBUG_DIR) -endif +endif ifneq ($(PLAT_ARM64_USER_INS_ITEMS), ) @$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_ARM64_COLOR) $(notdir $(PLAT_ARM64_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)" @$(CP) $(PLAT_ARM64_USER_INS_ITEMS) $(PLAT_ARM64_PUBLISH_DIR) @@ -514,18 +514,18 @@ ifeq ($(PLAT_LINUX), TRUE) -@test -d $(PLAT_LINUX_PUBLISH_DIR) || $(MKDIR) $(PLAT_LINUX_PUBLISH_DIR) -@test -d $(PLAT_LINUX_PUBLISH_DEBUG_DIR) || $(MKDIR) $(PLAT_LINUX_PUBLISH_DEBUG_DIR) ifneq ($(UNMAKE_PROCESS), TRUE) - @$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_LINUX_COLOR) $(TARGET_OUT_DIR)$(PLAT_LINUX_TARGET) $(PLAT_LINUX_TARGET).debug $(INSTALL_PATH_COLOR)" + @$(ECHO_COLOR) "$(INSTALL_COLOR) $(PLAT_LINUX_COLOR) $(TARGET_OUT_DIR)$(PLAT_LINUX_TARGET) $(PLAT_LINUX_TARGET).debug $(INSTALL_PATH_COLOR)" @$(CP) $(TARGET_OUT_DIR)/$(PLAT_LINUX_TARGET) $(PLAT_LINUX_PUBLISH_DIR) @$(CP) $(TARGET_OUT_DIR)/$(PLAT_LINUX_TARGET).debug $(PLAT_LINUX_PUBLISH_DEBUG_DIR) endif ifneq ($(PLAT_LINUX_USER_INS_ITEMS), ) @$(ECHO_COLOR) "$(INSTALL_USER_ITEM_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(PLAT_LINUX_USER_INS_ITEMS)) $(INSTALL_PATH_COLOR)" - @$(CP) $(PLAT_LINUX_USER_INS_ITEMS) $(PLAT_LINUX_PUBLISH_DIR) -endif + @$(CP) $(PLAT_LINUX_USER_INS_ITEMS) $(PLAT_LINUX_PUBLISH_DIR) +endif ifneq ($(USER_MULTILE_PLATFORM_HEAD_ITEMS), ) @$(ECHO_COLOR) "$(INSTALL_MULT_PLAT_COLOR) $(PLAT_LINUX_COLOR) $(notdir $(USER_MULTILE_PLATFORM_HEAD_ITEMS)) $(INSTALL_PATH_COLOR)" @$(CP) $(USER_MULTILE_PLATFORM_HEAD_ITEMS) $(SDK_HEADFILE_PUBLIST_DIR) -endif +endif endif endif @@ -534,11 +534,11 @@ endif # 清理功能 .PHONY : cleanall cleanall: - @$(ECHO_COLOR) "$(CLEAN_COLOR) $(PATH_COLOR) $(OUTPUT_DIR) $(BUILD_TARGET) $(USER_CLEAN_ITEMS) $(notdir $(DEPEND_LIB)) $(TARGET_OUT_DIR) *.debug" + @$(ECHO_COLOR) "$(CLEAN_COLOR) $(PATH_COLOR) $(OUTPUT_DIR) $(BUILD_TARGET) $(USER_CLEAN_ITEMS) $(notdir $(DEPEND_LIB)) $(TARGET_OUT_DIR) *.debug" @-$(RM) $(TARGET_OUT_DIR) $(OUTPUT_DIR) $(BUILD_TARGET) $(notdir $(DEPEND_LIB)) $(USER_CLEAN_ITEMS) *.debug .PHONY : clean -clean: - @$(ECHO_COLOR) "$(CLEAN_COLOR) $(PATH_COLOR) $(ALL_OBJS) $(BUILD_TARGET) $(ALL_DEPS) $(USER_CLEAN_ITEMS) $(notdir $(DEPEND_LIB)) $(TARGET_OUT_DIR) *.debug" +clean: + @$(ECHO_COLOR) "$(CLEAN_COLOR) $(PATH_COLOR) $(ALL_OBJS) $(BUILD_TARGET) $(ALL_DEPS) $(USER_CLEAN_ITEMS) $(notdir $(DEPEND_LIB)) $(TARGET_OUT_DIR) *.debug" @-$(RM) $(TARGET_OUT_DIR) $(ALL_OBJS) $(BUILD_TARGET) $(ALL_DEPS) $(USER_CLEAN_ITEMS) $(notdir $(DEPEND_LIB)) *.debug diff --git a/Common/compile.h b/Common/compile.h index 3f3b5e1e5..06a14327b 100755 --- a/Common/compile.h +++ b/Common/compile.h @@ -1,11 +1,11 @@ -/* This file is auto generated,for vBRAS version info */ +/* This file is auto generated,for sGATE version info */ /* Used readelf to get this information form driver of application */ /* "readelf --debug-dump=macro " */ -#define vBRAS_COMPILE_DATE "2019-05-30" -#define vBRAS_COMPILE_TIME "14:14:26" -#define vBRAS_COMPILE_MAJOR "20190530" -#define vBRAS_COMPILE_SUB "141426" -#define vBRAS_COMPILE_BY "hx" -#define vBRAS_COMPILE_HOST "esgwdev01" -#define vBRAS_GIT_TAGS "" -#define vBRAS_GIT_VERS "" +#define sGATE_COMPILE_DATE "2019-06-19" +#define sGATE_COMPILE_TIME "14:18:13" +#define sGATE_COMPILE_MAJOR "20190619" +#define sGATE_COMPILE_SUB "141813" +#define sGATE_COMPILE_BY "hx" +#define sGATE_COMPILE_HOST "esgwdev01" +#define sGATE_GIT_TAGS "c0ad51e6f-dev" +#define sGATE_GIT_VERS "c0ad51e6f27589e51268ec92a14ee1cb701a2d5f" diff --git a/Product/user/demo/main.c b/Product/user/demo/main.c old mode 100755 new mode 100644 index 60e11bbd4..06a1b867f --- a/Product/user/demo/main.c +++ b/Product/user/demo/main.c @@ -6,20 +6,18 @@ /** * @brief 应用程序主函数 - * @note - * @param argc: 输入参数个数 - * @param **argv: 输入参数详细内容 - * @retval 0 + * @param argc 输入参数个数 + * @param argv 输入参数详细内容 + * @return 0 */ int main(int argc, char **argv) { int c, optidx = 0; - opterr = 0; static struct option long_opts[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'v' }, // TODO 添加其它需要处理的参数配置 - { 0, 0, 0, 0 } + {NULL, 0, 0, 0} }; while((c = getopt_long(argc, argv, "hv", long_opts, &optidx)) != -1) @@ -27,7 +25,7 @@ int main(int argc, char **argv) switch (c) { case 'v': - fprintf(stdout, "User demo version: %s(%s)\n", sGATE_GIT_TAGS, sGATE_GIT_VERS); + fprintf(stdout, "User demo version: %s(%s)\n", sGATE_GIT_TAGS, sGATE_GIT_VERS); break; //TODO 添加其它必要处理参数过程 diff --git a/Product/user/demo/version.c b/Product/user/demo/version.c index 63ceb4b59..e50d37d60 100644 --- a/Product/user/demo/version.c +++ b/Product/user/demo/version.c @@ -1,6 +1,11 @@ #include +/** + * @brief Get the version object + * + * @return const char* + */ const char* get_version(void) { return "0.0.0.2"; -} \ No newline at end of file +}