Цитата(Aaron @ Mar 1 2016, 16:48)

вы не те куски цитируете, так в проблеме не разобраться. Пока что я криминала никакого не вижу. Ну подумаешь, 2-3 вложенных файла сборки вызываются...
библиотеки линкуются флагом -l, попробуйте -lnanolib, -lnanolibc - и вообще, поищите в папке с KDS файлик libnanolib*.* - что найдётся?
если хотите, чтобы проблема быстрее решилась - выкладывайте файлы сборки к проекту целиком. И ещё раз - сейчас какая конкретно проблема? только nanolib? А если вместо неё слинковать стандартную libc, пускай даже она более тяжеловесная?
При сборке ругается : arm-none-eabi-gcc: error: unrecognized command line option '-nanolibc'
В KDS ничего из libnanolib*.* не нашел.
CODE
COMMON.MAK
# Cygwin path
CYGWINDIR = c:\cygwin64\bin
# Cygwin utilities
CYGWIN_DIR = $(call remove_slashes,$(CYGWINDIR))
RM = $(CYGWIN_DIR)/rm.exe
MKDIR = $(CYGWIN_DIR)/mkdir.exe
CAT = $(CYGWIN_DIR)/cat.exe
ECHO = $(CYGWIN_DIR)/echo.exe
COPY = $(CYGWIN_DIR)/cp.exe
TOUCH = $(CYGWIN_DIR)/touch.exe
CHMOD = $(CYGWIN_DIR)/chmod.exe
# Path to compiler directory
ARMGCCDIR = C:\Freescale\KDS_3.0.0\toolchain
remove_slashes = $(subst \,/,$(1))
empty =
space = $(empty) $(empty)
remove_spaces = $(subst $(space),\$(space),$(1))
obj_output_path = $(call remove_slashes,$(OBJ_OUTPUT_PATH))
bin_output_path = $(call remove_slashes,$(BIN_OUTPUT_PATH))
# set final target
.PHONY: all
all: MK_OUT_PATH $(BIN_OUTPUT_PATH)\$(boardname).elf PRINT_SIZE
build: $(BIN_OUTPUT_PATH)\$(boardname).elf PRINT_SIZE
include $(SSC_ROOT)\ssc\mak\common_defs.mak
include $(SSC_ROOT)\ssc\mak\common_rules.mak
OBJ_FILE_SUFFIX = o
LIB_FILE_SUFFIX = lib
.SUFFIXES: # Delete the default suffixes
.SUFFIXES: .c .h .$(OBJ_FILE_SUFFIX) .$(LIB_FILE_SUFFIX)
#\/---------- Microchip compiler ------------------\/
# compiler root directory
ARM_GCC_DIR = $(call remove_spaces,$(call remove_slashes,$(ARMGCCDIR)))
# Compiler paths
cbin = $(ARM_GCC_DIR)/bin
# Executables
CC = $(cbin)/arm-none-eabi-gcc
LI = $(cbin)/arm-none-eabi-gcc
SIZE = $(cbin)/arm-none-eabi-size
# Compilers' options
ccopt = -D$(compiler_name) -D$(projname) -D$(environment) \
$(debug) -D$(platform) -D$(cpu) -D$(boardname) \
-c -mcpu=$(proc) -g \
-O$(optimize_level) \
-mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 \
-fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall \
-MMD \
-std=c99
ifeq ($(release),)
debug = -DDEBUG
endif
ifeq ($(release),yes)
debug =
endif
ldopt = -mcpu=$(proc) -g \
-O$(optimize_level) \
-mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 \
-fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall \
-T $(call remove_slashes,$(LINKER_CMD_FILE)) \
-Xlinker \
--gc-sections \
-Wl,-Map,"$(BIN_OUTPUT_PATH)/$(boardname).map" \
-nanolibc
#/\---------- ARM GCC compiler ------------------/\
cpopt += $(addprefix -I,$(call remove_slashes,$(CC_INCLUDE_PATH)))
# C rule
define generate_c_rule
$(addprefix $(OBJ_OUTPUT_PATH)\,$(addsuffix .$(OBJ_FILE_SUFFIX),$(basename $(notdir $(1))))): $(1)
@$(ECHO) Processing $$<
$(CC) $$(subst \,\\,$$<) -o $$(subst \,\\,$$@) $(ccopt) $(cpopt)
endef
# Asm rule
define generate_asm_rule
$(addprefix $(OBJ_OUTPUT_PATH)\,$(addsuffix .$(OBJ_FILE_SUFFIX),$(basename $(notdir $(1))))): $(1)
@$(ECHO) Processing $(1)
$(AS) $(asopt) -o $$(subst \,\\,$$@) $$(subst \,\\,$$<)
endef
XX_FILES_TO_BUILD = $(CC_FILES_TO_BUILD) $(S_FILES_TO_BUILD) $(ASM_FILES_TO_BUILD)
XX_OBJ_FILES = $(addprefix $(OBJ_OUTPUT_PATH)\,$(addsuffix .$(OBJ_FILE_SUFFIX),$(basename $(notdir $(XX_FILES_TO_BUILD)))))
FILES_TO_LINK = $(XX_OBJ_FILES) $(LIBRARIES_LINK_ONLY) $(OBJECTS_LINK_ONLY)
LIST_OBJ_FILES = $(call remove_slashes,$(XX_OBJ_FILES))
LIST_LIB_FILES += $(call remove_slashes,$(SDK_ROOT))/lib/ksdk_platform_lib/kds/$(CHIP)/debug/ksdk_platform_lib.a
# Dependencies
-include $(XX_OBJ_FILES:.o=.d)
# Generation of C and assempler rules
$(foreach file,$(CC_FILES_TO_BUILD),$(eval $(call generate_c_rule,$(file))))
$(foreach file,$(ASM_FILES_TO_BUILD),$(eval $(call generate_asm_rule,$(file))))
# Rule for linking
$(BIN_OUTPUT_PATH)\$(boardname).elf: $(FILES_TO_LINK)
@$(ECHO) Linking $@
@$(MKDIR) -p $(bin_output_path)
$(LI) $(ldopt) -o $(subst \,\\,$@) -Xlinker --start-group \
$(LIST_OBJ_FILES) $(LIST_LIB_FILES) \
-lm -Xlinker --end-group
@$(ECHO) Done $@
PRINT_SIZE: $(BIN_OUTPUT_PATH)\$(boardname).elf
@$(ECHO) Print size information
$(SIZE) -B -d -t $(BIN_OUTPUT_PATH)/$(boardname).elf
clean:
@$(ECHO) Clean...
@$(RM) -fR $(OBJ_OUTPUT_PATH)
clean_keep_elf:
@$(ECHO) Clean with keep elf ...
@$(RM) -fR $(OBJ_OUTPUT_PATH)
PS: Файлы что то подгружать не хочет
При ключе -libc выдается вот такая вот бяка !
Код
c:/freescale/kds_3.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/bin/ld.exe: cannot find -libc
collect2.exe: error: ld returned 1 exit status
make: *** [bin_MB_server\FRDM_K64F120M.elf] Error 1
Вот сам common и makefile.