We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
with assembly declear:
#ifdef STANDALONE #define USE_SERIAL_PORT 1 asm(".global __use_no_semihosting"); #endif
to exclude any c clib being linked to output file
but i get the error info as follows:
Error: L6915E: Library reports error: __use_no_semihosting was requested, but _sys_command_string was referenced.
the question is, target is aarch64 cortex-a53,
no choice for me to link micro lib
what should I do?
with the case you recommend,
i add some folder to extend its func,
and modified the makefile in the top folder,
before:
APP_C_SRC := $(wildcard $(SRC_DIR)/*.c) \APP_S_SRC := $(wildcard $(ASM_DIR)/*.S)OBJ_FILES := $(APP_C_SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) \ $(APP_S_SRC:$(ASM_DIR)/%.S=$(OBJ_DIR)/%.o)DEP_FILES := $(OBJ_FILES:%=%.d)
after:
APP_C_SRC := $(wildcard $(SRC_DIR)/*.c) \
$(wildcard $(SRC_DIR)/dirx/*.c) APP_S_SRC := $(wildcard $(ASM_DIR)/*.S)OBJ_FILES := $(APP_C_SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) \
$(wildcard $(SRC_DIR)/dirx/*.c)
APP_S_SRC := $(wildcard $(ASM_DIR)/*.S)
OBJ_FILES := $(APP_C_SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) \
$(APP_C_SRC:$(SRC_DIR)/dirx/%.c=$(OBJ_DIR)/%.o)$(APP_S_SRC:$(ASM_DIR)/%.S=$(OBJ_DIR)/%.o)DEP_FILES := $(OBJ_FILES:%=%.d)
$(APP_C_SRC:$(SRC_DIR)/dirx/%.c=$(OBJ_DIR)/%.o)
$(APP_S_SRC:$(ASM_DIR)/%.S=$(OBJ_DIR)/%.o)
DEP_FILES := $(OBJ_FILES:%=%.d)
but it seemed to be not useful,
the compile output is the same:
12:25:54 **** Build of configuration Default for project startup_Armv8-Ax1_AC6_lab' ****make all mkdir objCompiling src/GICv3_gicd.c...Compiling src/timer_interrupts.c...Compiling src/sp804_timer.c...Compiling src/main.c...Compiling src/GICv3_gicr.c...Compiling src/uart.c...Compiling src/retarget.c...Compiling asm/vectors.S...Compiling asm/v8_aarch64.S...Compiling asm/v8_utils.S...Compiling asm/startup.S...Linking startup_Armv8-Ax1_AC6.axfDone.
12:25:56 Build Finished. 0 errors, 0 warnings. (took 2s.237ms)
no new fiels related information anyway
is there anything i missed?
Hi againTry this instead. Into both makefiles for startup_Armv8-Ax1_AC6 and startup_Cortex-A53x1_AC6 add:APP_C_SRC := $(wildcard $(SRC_DIR)/*.c)EXT_C_SRC := $(wildcard $(SRC_DIR)/dirx/*.c)APP_S_SRC := $(wildcard $(ASM_DIR)/*.S)OBJ_FILES := $(APP_C_SRC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o) \ $(EXT_C_SRC:$(SRC_DIR)/dirx/%.c=$(OBJ_DIR)/%.o) \ $(APP_S_SRC:$(ASM_DIR)/%.S=$(OBJ_DIR)/%.o)DEP_FILES := $(OBJ_FILES:%=%.d)and later add a compilation rule for the new folder, for startup_Armv8-Ax1_AC6:$(OBJ_DIR)/%.o : $(SRC_DIR)/dirx/%.c | $(OBJ_DIR) $(PROGRESS) $(QUIET) $(CC) -c $(TARGET_ARCH) $(CPPFLAGS) $(CFLAGS) -o $@ $<and (slightly different) for startup_Cortex-A53x1_AC6:$(OBJ_DIR)/%.o : $(SRC_DIR)/dirx/%.c | $(OBJ_DIR) $(PROGRESS) $(QUIET) $(CC) -c $(TARGET_CPU) $(CPPFLAGS) $(CFLAGS) -o $@ $<Hope this helpsStephen