Skip to content

cannot make pass,so need to modfy makefile,you can copy this makefile that can make pass #2

@ACFIRSTONE

Description

@ACFIRSTONE

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

File automatically-generated by tool: [projectgenerator] version: [4.1.0] date: [Fri Nov 17 10:55:26 CST 2023]

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

------------------------------------------------

Generic Makefile (based on gcc)

ChangeLog :

2017-02-10 - Several enhancements + project update mode

2015-07-22 - first version

------------------------------------------------

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

target

######################################
TARGET = Maglev-v0.1

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

building variables

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

debug build?

DEBUG = 1

optimization

OPT = -Og

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

paths

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

Build path

BUILD_DIR = build

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

source

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

C sources

C_SOURCES =
Core/Src/main.c
Core/Src/gpio.c
Core/Src/adc.c
Core/Src/tim.c
Core/Src/usart.c
Core/Src/stm32f4xx_it.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_gpio.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_rcc.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_utils.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_exti.c
Core/Src/system_stm32f4xx.c
Core/Src/dma.c
Core/Src/i2c.c
Core/Src/spi.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_i2c.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_dma.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_spi.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_tim.c
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c
User/ADC/adc_handler.c
User/Algorithm/fuzzy_pid.c
User/Algorithm/lowpass_filter.c
User/Algorithm/pid.c
User/Algorithm/sliding_filter.c
User/BLE/bluetooth.c
User/Coil/coil.c
User/Control/control.c
User/Delay/delay.c
User/Encoder/encoder.c
User/I2C/i2c_handler.c
User/IMU/ICM20602.c
User/IMU/imu_utils.c
User/IMU/math_utils.c
User/Key/key.c
User/OLED/oled.c
User/SPI/spi_handler.c
User/TOF/tof.c
User/UART/fifo.c
User/UART/uart_handler.c
User/UART/utils.c
User/UI/ui.c
User/VOFA/vofa.c \

ASM sources

ASM_SOURCES =
startup_stm32f407xx.s

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

binaries

#######################################
PREFIX = arm-none-eabi-

The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx)

either it can be added to the PATH environment variable.

ifdef GCC_PATH
CC = $(GCC_PATH)/$(PREFIX)gcc
AS = $(GCC_PATH)/$(PREFIX)gcc -x assembler-with-cpp
CP = $(GCC_PATH)/$(PREFIX)objcopy
SZ = $(GCC_PATH)/$(PREFIX)size
else
CC = $(PREFIX)gcc
AS = $(PREFIX)gcc -x assembler-with-cpp
CP = $(PREFIX)objcopy
SZ = $(PREFIX)size
endif
HEX = $(CP) -O ihex
BIN = $(CP) -O binary -S

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

CFLAGS

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

cpu

CPU = -mcpu=cortex-m4

fpu

FPU = -mfpu=fpv4-sp-d16

float-abi

FLOAT-ABI = -mfloat-abi=hard

mcu

MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)

macros for gcc

AS defines

AS_DEFS =

C defines

C_DEFS =
-DUSE_FULL_LL_DRIVER
-DSTM32F407xx
-DHSE_VALUE=8000000
-DHSE_STARTUP_TIMEOUT=100
-DLSE_STARTUP_TIMEOUT=5000
-DLSE_VALUE=32768
-DEXTERNAL_CLOCK_VALUE=12288000
-DHSI_VALUE=16000000
-DLSI_VALUE=32000
-DVDD_VALUE=3300
-DPREFETCH_ENABLE=1
-DINSTRUCTION_CACHE_ENABLE=1
-DDATA_CACHE_ENABLE=1
-DARM_MATH_CM4

AS includes

AS_INCLUDES =

C includes

C_INCLUDES =
-ICore/Inc
-IDrivers/STM32F4xx_HAL_Driver/Inc
-IDrivers/CMSIS/Device/ST/STM32F4xx/Include
-IDrivers/CMSIS/Include
-IUser/CMSIS-DSP
-IUser/ADC
-IUser/Algorithm
-IUser/BLE
-IUser/Coil
-IUser/Control
-IUser/Delay
-IUser/Encoder
-IUser/I2C
-IUser/IMU
-IUser/Key
-IUser/OLED
-IUser/SPI
-IUser/TOF
-IUser/UART
-IUser/UI
-IUser/VOFA \

compile gcc flags

ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections

CFLAGS += $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections

ifeq ($(DEBUG), 1)
CFLAGS += -g -gdwarf-2
endif

Generate dependency information

CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)"

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

LDFLAGS

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

link script

LDSCRIPT = STM32F407VETx_FLASH.ld

libraries

LIBS = -lc -lm -lnosys -l:libarm_cortexM4lf_math.a
LIBDIR = -LUser/CMSIS-DSP
LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections

default action: build all

all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin

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

build the application

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

list of objects

OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o)))
vpath %.c $(sort $(dir $(C_SOURCES)))

list of ASM program objects

OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o)))
vpath %.s $(sort $(dir $(ASM_SOURCES)))

$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR)
$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@

$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)
$(AS) -c $(CFLAGS) $< -o $@

$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
$(SZ) $@

$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
$(HEX) $< $@

$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
$(BIN) $< $@

$(BUILD_DIR):
mkdir $@

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

clean up

#######################################
clean:
-rm -fR $(BUILD_DIR)

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

dependencies

#######################################
-include $(wildcard $(BUILD_DIR)/*.d)

*** EOF ***

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions