|
文件路径:
- phospherus/stmhal/Makefile
复制代码 源码分析:
- # Select hardware floating-point support
- #选择硬件浮点支持
- ifeq ($(CMSIS_MCU),$(filter $(CMSIS_MCU),STM32F767xx STM32F769xx))
- CFLAGS_CORTEX_M += -mfpu=fpv5-d16 -mfloat-abi=hard
- else
- CFLAGS_CORTEX_M += -mfpu=fpv4-sp-d16 -mfloat-abi=hard
- endif
- # Options for particular MCU series
- #特别的MCU系列选项
- CFLAGS_MCU_f4 = $(CFLAGS_CORTEX_M) -mtune=cortex-m4 -mcpu=cortex-m4 -DMCU_SERIES_F4
- CFLAGS_MCU_f7 = $(CFLAGS_CORTEX_M) -mtune=cortex-m7 -mcpu=cortex-m7 -DMCU_SERIES_F7
- CFLAGS_MCU_l4 = $(CFLAGS_CORTEX_M) -mtune=cortex-m4 -mcpu=cortex-m4 -DMCU_SERIES_L4
- CFLAGS = $(INC) -Wall -Wpointer-arith -Werror -std=gnu99 -nostdlib $(CFLAGS_MOD) $(CFLAGS_EXTRA)
- CFLAGS += -D$(CMSIS_MCU)
- CFLAGS += $(CFLAGS_MCU_$(MCU_SERIES))
- CFLAGS += $(COPT)
- CFLAGS += -Iboards/$(BOARD)
- CFLAGS += -DSTM32_HAL_H='<stm32$(MCU_SERIES)xx_hal.h>'
- ifeq ($(MICROPY_FLOAT_IMPL),double)
- CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_DOUBLE
- else
- CFLAGS += -DMICROPY_FLOAT_IMPL=MICROPY_FLOAT_IMPL_FLOAT
- CFLAGS += -fsingle-precision-constant -Wdouble-promotion
- endif
- LDFLAGS = -nostdlib -L $(LD_DIR) -T $(LD_FILE) -Map=$(@:.elf=.map) --cref
- LIBS = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
- # Remove uncalled code from the final image.
- #从最终的镜像文件中删除未调用的代码
- CFLAGS += -fdata-sections -ffunction-sections
- LDFLAGS += --gc-sections
复制代码
|
|