Связывание ошибок с использованием make-файла для сборки программы на STM32F205, GCC-arm-none-eabi "Windows-7 target" - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть проект, разделенный на подпапки, так же как и прикрепленные картинки, когда я запускаю свой файл make, появляется множество ошибок компоновки.Некоторые тела помогите мне, пожалуйста.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображенияздесь

make file:

# put your *.c source files here, make should handle the rest!
CSRCS = Wiring_Layer/firmware/hal/src/*.c vendor/SPL/src/*.c
# put your *.cpp source files here, make should handle the rest!
CCSRCS = Wiring_Layer/firmware/user/*.cpp  Wiring_Layer/firmware/wiring/src/*.cpp
# all the files will be generated with this name (main.elf, main.bin, main.hex, etc)
PROJ_NAME=elkrem

# Location of the Libraries folder from the STM32F0xx Standard Peripheral Library
STD_PERIPH_LIB=vendor

# Location of the linker scripts
LDSCRIPT_INC=Wiring_Layer/firmware/build/src

# that's it, no need to change anything below this line!

###################################################

CC=arm-none-eabi-gcc
CPP=arm-none-eabi-g++
GDB=arm-none-eabi-gdb
OBJCOPY=arm-none-eabi-objcopy
OBJDUMP=arm-none-eabi-objdump
SIZE=arm-none-eabi-size

CFLAGS  = -w -g -std=c99 -O0  
CFLAGS += -mlittle-endian -mcpu=cortex-m3 -mthumb
CFLAGS += -std=c++11 -felide-constructors -std=c++0x -DUSE_STDPERIPH_DRIVER -DSTM32F2XX 



LDFLAGS += -Wl,--gc-sections -Wl,-Map=$(PROJ_NAME).map


###################################################


ROOT=$(shell pwd)

CFLAGS += -Iinc
CFLAGS += -IWiring_Layer/firmware/build/inc
CFLAGS += -IWiring_Layer/firmware/hal/inc
CFLAGS += -IWiring_Layer/firmware/wiring/inc
CFLAGS += -I$(STD_PERIPH_LIB) 
CFLAGS += -I$(STD_PERIPH_LIB)/SPL/inc

STARTUP = Wiring_Layer/firmware/build/src/startup_stm32f2xx.s # add startup file to build


OBJS = $(CSRCS:.c=.o) $(CCSRCS:.cpp=.o) 
DEPS = $(CSRCS:.c=.d) 

###################################################$

.PHONY: all proj program  clean

all:  proj


proj:   $(PROJ_NAME).elf

wiring:
    $(CPP) $(CFLAGS) -c $(CCSRCS)

objs :  wiring 
    $(CC) $(CFLAGS) -c $(CSRCS)  


$(PROJ_NAME).elf: objs
    $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(STARTUP) -L$(LDSCRIPT_INC) -TElkrem_Linker.ld
    $(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex
    $(OBJCOPY) -O binary $(PROJ_NAME).elf $(PROJ_NAME).bin
    $(OBJDUMP) -St $(PROJ_NAME).elf >$(PROJ_NAME).lst
    $(SIZE) $(PROJ_NAME).elf


program: all


clean:
    find ./ -name '*~' | xargs rm -f    
    rm -f *.o
    rm -f *.d
    rm -f dirs
    rm -f $(PROJ_NAME).elf
    rm -f $(PROJ_NAME).hex
    rm -f $(PROJ_NAME).bin
    rm -f $(PROJ_NAME).map
    rm -f $(PROJ_NAME).lst

ссылка на изображения содержит папки и подпапки и создает результаты в командном окне

введите описание изображения здесь

...