stm32f103 MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
时间: 2024-04-24 17:21:55 浏览: 16
在这个设置中,除了之前提到的`$(CPU)`和`-mthumb`,还包括了其他两个选项:`$(FPU)`和`$(FLOAT-ABI)`。
`$(FPU)`是浮点单元(Floating Point Unit)的缩写,代表浮点运算单元的类型。在STM32F103微控制器中,可能有不同的浮点运算单元可供选择,如FPU未启用、软件浮点或硬件浮点。根据具体情况,可以选择不同的浮点运算单元类型。
`$(FLOAT-ABI)`是浮点ABI(Application Binary Interface)的缩写,指定了函数调用期间如何处理浮点参数和返回值。常见的选项有soft、softfp和hard,分别代表软件浮点、混合软硬件浮点和硬件浮点。选择适合的浮点ABI可以提高浮点运算的效率。
因此,`stm32f103 MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)`是一个针对STM32F103微控制器的编译器设置,包括处理器类型、Thumb指令集、浮点运算单元类型和浮点ABI。具体的取值需要根据具体的项目需求进行配置。
相关问题
stm32f103 vscode配置
在VSCode中配置STM32的开发环境,首先需要安装STM32CubeMX和STM32CubeIDE插件。然后按照以下步骤进行配置:
1. 打开STM32CubeMX,创建新的工程,选择目标芯片型号(例如stm32f103),配置相关参数,生成初始化代码。
2. 在VSCode中,安装STM32CubeMX插件和STM32CubeIDE插件。
3. 打开VSCode,在左侧的资源管理器中,右键单击工程文件夹,选择"Generate Code"。
4. 在生成的代码中,找到main.c文件,该文件包含了主要的应用程序代码。
5. 在VSCode的菜单栏中,选择View -> Terminal,打开终端。
6. 在终端中输入以下命令编译代码: arm-none-eabi-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -fno-builtin -ffunction-sections -fdata-sections -std=gnu99 -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../Src/main.c"
7. 输入以下命令链接代码: arm-none-eabi-gcc -T"STM32F103C8Tx_FLASH.ld" -nostartfiles -Xlinker --gc-sections -Wl,-Map,"STM32F103C8Tx_FLASH.map" -mcpu=cortex-m3 -mthumb -o "STM32F103C8Tx_FLASH.elf" ./startup/startup_stm32f103xb.o ./system/src/stm32f1xx/system_stm32f1xx.o ./Src/main.o -lm
8. 输入以下命令生成可执行文件: arm-none-eabi-objcopy -O binary "STM32F103C8Tx_FLASH.elf" "STM32F103C8Tx_FLASH.bin"
9. 将生成的可执行文件下载到STM32开发板中。
-mthumb-interwork -mthumb
这两个参数都是用于ARM架构的编译器选项,用于控制生成的代码是否使用Thumb指令集。
-mthumb-interwork选项用于控制生成的代码是否支持Thumb-2指令集。如果开启该选项,编译器会生成能够在Thumb和ARM指令集之间切换的代码,从而使得代码可以更加紧凑和高效。
-mthumb选项则用于控制生成的代码是否使用Thumb指令集。如果开启该选项,编译器会生成使用Thumb指令集的代码,从而可以减小代码的大小,并且可以更有效地利用缓存和其他系统资源。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)