ошибка arm-none-gcc-ld : не удается найти объектный файл, даже если он существует с правильным путем

#c #makefile #arm-none-eabi-gcc

Вопрос:

Итак, это фрагмент из моего файла makefile для создания моей цели:

 #include header files directory
vpath %.h = include
vpath %.o = obj

#create a list of *.c from the source directory
SRC = $(wildcard src/*.c)
OBJ = $(SRC:src/%.c=%.o)

main.elf: $(OBJ)
    $(CC) $(LDFLAGX) $(addprefix obj/,$(OBJ)) -o $@ 

%.o :   %.c
    $(CC) $(CPPFLAGS)   $(CFLAGS) -c $^ -o obj/$@ 
 

мой каталог проектов выглядит следующим образом:

srcdir
— — — включить
— — — obj
—src

Вот результат, который я получаю:

руку-нет-встроенном-НКУ -включите -ПМКУ=Cortex-м3 -mthumb -с std=gnu11 -О0 -г -настенные -C в каталоге src/РСС.с-О в obj/РСС.о.
руку-нет-встроенном-НКУ -включите -ПМКУ=Cortex-м3 -mthumb -с std=gnu11 -О0 -г -настенные -C в каталоге src/SPI интерфейс.с-О в obj/спи.о.
руку-нет-встроенном-НКУ -включите -ПМКУ=Cortex-м3 -mthumb -с std=gnu11 -О0 -г -настенные -с src/главная.с-О в obj Майне.о.
руку-нет-встроенном-НКУ -включите -ПМКУ=Cortex-м3 -mthumb -с std=gnu11 -О0 -г -настенные -C в каталоге src/запуска.с-О в obj/запуска.о.
руку-нет-встроенном-НКУ -включите -ПМКУ=Cortex-м3 -mthumb -с std=gnu11 -О0 -г -настенные -C в каталоге src/таймер.с-О в obj/таймер.o
arm-нет-eabi-gcc -Iinclude -mcpu=cortex-m3 -mthumb -std=gnu11 -O0 -g -Стена -c src/usart.c -o obj/usart.o

arm-нет-eabi-gcc -Xlinker -T -Xlinker lscript.ld -Xlinker -nostdlib -Xlinker -Карта=main.map obj/RCC.o obj/SPI.o obj/main.o obj/запуск.o obj/таймер.o obj/usart.o -o main.elf

c:/program файлы (x86)/набор встроенных инструментов gnu arm/9 2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: не удается найти запуск.o collect2.exe: ошибка: ld вернул 1 статус выхода make.exe»: *** [main.elf] Ошибка 1

Итак, файл startup.o существует в папке obj/, и путь также указан в рецепте, так что же здесь не так?

Я изо всех сил пытался создать свой собственный файл makefile из-за множества таких ошибок, и даже после того, как я опробовал множество руководств и примеров, которые могут решить проблему, время от времени появляется еще один новый, есть ли более удобный способ создания таких проектов, который не доставляет мне столько хлопот?