This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

armds no link with c lib cfg failed( __use_no_semihosting)

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?

Parents
  • Hi again

    Try 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 helps

    Stephen

Reply
  • Hi again

    Try 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 helps

    Stephen

Children
No data