在Windows下最快最简单的使用gcc编译stm32
在Windows下使用gcc编译stm通常需要许多准备工作
- minGW(编译c文件)
- gcc-arm-none-eabi(翻译到arm)
- make(编译链接的工具)
- makefile(该项目编译链接的规则)
如果想快捷的尝试使用gcc编译编译出软件并运行的话,我推荐一个简单快速的方案
-
软件安装(相信这两个软件大家都是有的),
- VSCode
- STM32CubeMX
-
安装VSCode插件并配置环境
1. 在扩展中搜索并安装
Embedded IDE
-
点击左侧的图标打开插件
-
点击下方的安装实用工具
-
点击GNU Arm Embedded Toolchain (stable)
-
安装过程中右下角有
来源 :Embedded IDE
的弹窗都点击同意
1. 在扩展中搜索并安装
Makefile Tools
,点击安装即可-
安装完成后使用
Ctrl+,
打开设置. 在搜索栏中搜索Makefile: Configure On Open
,取消勾选(勾选时会更改startup_stm32f103xb.s文件,导致编译错误.最新版本已经默认不勾选了. 如果已经被改变了,删除该文件,重新生成工程即可) -
Makefile: Configure On Open
配置项 -
关闭该设置
-
3. 使用STM32CubeMX生成 Makefile
工程
-
选择以芯片开始
-
选择芯片
-
配置调试接口
-
配置GPIO(后续点亮LED验证程序运行)
-
配置工程选项
-
生成工程
4.编译工程
-
打开工程文件夹
-
找到
main.c
文件添加两行简单的代码添加这两行代码
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); HAL_Delay(500);
添加完如图
-
打开左侧的
Makefile Tools
扩展 -
确认Make程序的路径为
.eide
文件夹下的make.exe
-
点击编译按钮生成可执行文件
出现类似的报错,就是我前面提到过的
.s
文件被修改startup_stm32f103xb.s:1: Error: junk at end of line, first unrecognized character is `-' startup_stm32f103xb.s:2: Error: bad size 0 in type specifier startup_stm32f103xb.s:2: Error: bad instruction `startup_stm32f103xb.s'
-
可执行文件在工程文件夹下的
build
文件夹下
5.烧录验证
-
build
文件夹里有.bin
;.elf
;.hex
随便选择一个烧写到芯片 -
可以看到LED按预期功能闪烁
-
通过逻辑分析仪验证时间符合预期
相信这个简单的过程可以让你快速使用gcc编译软件
实际上eide非常强大,甚至可以通过比较简单的过程,就可以实现导入你的KEIL工程,并转为使用gcc编译
希望这个简单的教程能抛砖引玉,引起你对于gcc编译过程的兴趣,在后面的学习中能更深入的了解这其中的原理
标签:stm32f103xb,gcc,Makefile,startup,stm32,编译,安装 From: https://blog.csdn.net/jmjrmtszt/article/details/141892748