Windows下,搭建开源STM32/GD32
开源IDE环境
脱离盗版,使用vscode+GCC+openocd+cmsisDAP,linux下同理
参考:Win10配置 STM32/GD32 单片机 GCC+VScode 编译调试总结 2021版_秋阳 Cody的博客-优快云博客_gd32 vscode
- 实践了一遍,挑了干货,快速完成平台搭建
- 加入仿真中需要的.svd获取说明,用于看外设PERIPHERALS的寄存器
- makefile推荐stm32cube生成的,然后做修改。对比了下不同的makefile,涉及到FPU部分的编译,用最简单的makefile可能会漏。
- 如果需要BootLoader,偏移地址相关的编译,大家再研究研究^_^
- 初步跑通了流程,简单工程的编译仿真,也许还有坑,一起交流吧
一、工具下载:
- Mingw-w64(make 工具 执行makefile用)
MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net
下载i686-posix-dwarf
1.ARM-GCC 交叉编译器
Arm GNU Toolchain | Arm GNU Toolchain Downloads – Arm Developer
下载gcc-arm-11.2-2022.02-mingw-w64-i686-arm-none-eabi.exe
2.OPENOCD 用于下载和试真
Releases · xpack-dev-tools/openocd-xpack · GitHub
下载(选最新版本即可)
3.下载vscode
常用插件百度下,按需安装
二、工具配置:
- 安装交叉编译器,解压OPENOCE,解压Mingw-w64
- 添加环境变量
打开window系统设置,搜索”查看高级系统设置”,在3个工具位置添加到系统环境变量中
C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin
D:\ProgramFiles\VScodeGD32IDE\mingw32\bin
D:\ProgramFiles\VScodeGD32IDE\xpack-openocd-0.11.0-4\bin
上面3个路径请根据实际情况修改
三、编译环境搭建(GD32F303为例)
1、代码环境准备
必须项:
- gd32f30x_flash.ld
- startup_gd32f30x_hd.s (注意后缀大小写,在makefie中踩坑过)
- system_gd32f30x.c
- 其他外设库文件
- GD32F30x_HD.svd
说明,上述1-4可以在官方例程中得到,第5项安装KEIL和相应支持包后,可以搜索得到。
A:为啥还得用KEIL,不是说好了开源环境么
Q:上面的操作,不需要破解KEIL。
2、VSCODE中安装插件Cortex-Debug
3.makefile准备
在STM32CubeMX,选择内核(M3/M4等)相同的器件,生成带makefile的项目
我们将在生成的makefile文件中做修改。
1)修改.c和.s 文件路径
2)includes路径修改,注意-I 是makefile中的语法,照做即可
3)可以加入环境define,类似KEIL设置中的define项,注意-D是makefile中的语法
4、激动的编译时刻
将工程文件夹拖入vscode中,按下ctrl+~调出终端
输入神奇的编译指令mingw32-make all
神奇的事情就发生了
至此,编译工作完成。
PS: mingw32-make all之后按上下键就能出现,不用敲键盘
四、下载仿真环境
1、launch.json
在vscode的调试界面,生成launch.json
2、配置仿真配置文件
1)下图中,箭头标注的都需要自己修改
2)下图配置的是DAP仿真器,同目录下有其他仿真器的配置文件
3)一切就绪后,F5开始开始下载仿真
五、存在问题:有时仿真无法显示外设PERIPHERALS地址内容,可断电重启
补充:工程目录必须是英文