Maglev icon indicating copy to clipboard operation
Maglev copied to clipboard

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

Open ACFIRSTONE opened this issue 8 months ago • 1 comments

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

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 ***

ACFIRSTONE avatar Jun 13 '25 01:06 ACFIRSTONE

实际上这个项目的makefile是使用STM32 For VSCode自动生成的

Matrixchung avatar Jun 13 '25 02:06 Matrixchung