“是什么意思?”-DSTM32F10X_MD-DUSE_STDPERIPH_DRIVER";作为arm none eabi gcc的旗帜?

“是什么意思?”-DSTM32F10X_MD-DUSE_STDPERIPH_DRIVER";作为arm none eabi gcc的旗帜?,gcc,makefile,stm32,stm32f1,Gcc,Makefile,Stm32,Stm32f1,它们看起来像stm32的启动文件和标准文件,但我在“GCC官方参考PDF”中找不到它们 为什么可以直接使用 这是makefile中arm none eabi gcc的标志: # specify compiler flags CFLAGS = -g -O2 -Wall CFLAGS += -T$(STD_PERIPH_LIBS)/Project/STM32F10x_StdPeriph_Template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld CFLAGS

它们看起来像stm32的启动文件和标准文件,但我在“GCC官方参考PDF”中找不到它们

为什么可以直接使用

这是makefile中arm none eabi gcc的标志:

# specify compiler flags
CFLAGS  = -g -O2 -Wall
CFLAGS += -T$(STD_PERIPH_LIBS)/Project/STM32F10x_StdPeriph_Template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld
CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork
CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
CFLAGS += -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
CFLAGS += -Wl,--gc-sections
CFLAGS += -I.
CFLAGS += -I$(STD_PERIPH_LIBS)/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/
CFLAGS += -I$(STD_PERIPH_LIBS)/Libraries/CMSIS/CM3/CoreSupport
CFLAGS += -I$(STD_PERIPH_LIBS)/Libraries/STM32F10x_StdPeriph_Driver/inc

它是特定于库的标志(在本例中为STM32F10x标准外围设备库)


它是特定于库的标志(在本例中为STM32F10x标准外围设备库)

-D
是在编译之前传递给GCC的定义。它可以用于启用库的某些功能,甚至用于调试

STM32F10X\u MD
使用STDPERIPH\u驱动程序
启用附带库的部分。它是中密度设备库的STM32F10部分,支持使用标准外设库

请注意,SPL不再受支持,您应该升级到HAL或HAL LL。

-D
是在编译之前传递给GCC的定义。它可以用于启用库的某些功能,甚至用于调试

STM32F10X\u MD
使用STDPERIPH\u驱动程序
启用附带库的部分。它是中密度设备库的STM32F10部分,支持使用标准外设库


请注意,SPL不再受支持,您应该升级到HAL或HAL LL。

-Dsomething
与源代码中的定义内容相同。

-Dsomething
与源代码中的定义内容相同。

我明白了。谢谢!:)我明白了。谢谢!:)