为了简化VSCode+GCC开发STM32时的工程环境配置 顺便提供一些常用功能
在VSCode的Extensions里搜索"kstm32", 安装本插件 应该不用解释了
下载地址伸手链接 https://pan.baidu.com/s/11te7jUyUf_vH8_hdC2wtrA&shfl=sharepset
GitHub: https://github.com/kuresaru/KSTM32_Templates 尽量从GitHub工程Clone下来, 如果以后模板有更新, 可以直接pull.
F10x和F4xx两个库, 用哪个下载哪个, 可以去ST官方, 也可以去上边的伸手链接.
推荐2019版本. 可以去arm官方下载, 也可以去上边的伸手链接. 最好把系统的PATH环境变量配置到工具的bin目录下
Linux就不用说了吧, Windows的我把官方源码编译了一份, 已经上传到伸手链接了 下载exe文件后最好配置好环境变量
如果你用的Windows系统, 你也可以不安装这个工具, 直接使用STLink等工具下载程序, 但是不能调试是肯定的 推荐使用最新的0.10版本 下载后配置PATH环境变量到bin目录
文件 -> 首选项 -> 设置 -> 扩展 -> 暮光小猿STM32小工具
这个是从ST官方下载下来的STM32F10x的标准外设库路径, 如果你不使用库开发, 可以忽略. 复用库是为了避免一个工程一份库, 占用磁盘空间. 路径中应该含有"CMSIS"和"STM32F10x_StdPeriph_Driver"目录(官方下载压缩包里的"Libraries"目录). 配置示例: D:\Things\MCU\STM32_Libs\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries
同上, 从ST官方下载下来的STM32F4标准外设库 路径中应该含有"CMSIS"和"STM32F4xx_StdPeriph_Driver"目录(官方下载压缩包里的"Libraries"目录). 配置示例: D:\Things\MCU\STM32_Libs\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries
本工具配套的模板文件的路径. 配置示例: D:\Things\MCU\kstm32_template
gcc工具的根目录, 包含"arm-none-eabi", "bin", "lib", "share"四个目录. 如果你没有配置GCC的环境变量, 那么一定要配置这个选项. (Windows暂不支持本选项, 请配置环境变量)
make工具的位置, 一般是为Windows系统配置的. 填下载到的make.exe的文件路径. 当然配置了make的环境变量后可以为空
如果不使用本插件一键启动OpenOCD, 可为空. OpenOCD的根路径, 包含"bin", "contrib", "doc", "scripts"等目录. Windows如果配置了环境变量, 可以为空. 有些Linux会把可执行文件链接到如"/bin"等目录, 那么必须配置本选项, 并保证有"bin"和"scripts"目录.
所有工程文件都写到src目录中, 本插件会自动识别并把你的工程文件(.c/.h/.s)配置到Makefile和vscode语法检查配置中.
手动: 打开一个终端, 输入make编译. (Windows终端改UTF8的方法: chcp 65001)
自动(暂时有问题, 总是会重新编译所有工程文件):
点击这个按钮, 然后输入需要定义的宏名.
右击一个定义, 可以删除.
调试相关的可以参考旧模板或参考c语言的启动配置, 配置gdb启动. 可以使用本插件一键启动OpenOCD, 使用ST-Link_v2方式连接. 或者推荐一下Cortex-debug这个插件(虽然启动比较慢, 不过人家这是专业的, 我就不再写这种功能了)
在创建新工程时只有一个默认"default"模板.
打开模板目录, 在"default"同级创建一个空目录.
在新目录中放入新的工程模板, 注意只放入通用的部分, 不要放入芯片特有的部分(如x8(md)和xC(hd)的启动.s文件).
如果要新建一个芯片特有部分的模板(如新增对x6芯片的支持) [注意:本功能未测试, 可能无法正常支持].
那么需要在"default"同级目录中新建"_6"目录, 在目录中以模板相同结构放入文件.
最终新建出来的工程 = 模板中的文件 + 芯片特有的文件 (两个都有的文件以芯片特有为准).
可以以默认模板为例参考.
在对应的Makefile对应的变量的上一行加入下面对应的注释标记 #--kstm32-autoconf:name #--kstm32-autoconf:sources #--kstm32-autoconf:asm #--kstm32-autoconf:defines #--kstm32-autoconf:includes 本插件自动配置环境时会自动修改对应变量等号后面的值. 如加上"#--kstm32-autoconf:source"的变量, 会自动把值设置为工程中需要编译的.c文件的路径.
小猿山庄/QQ群: 367341477
Bilibili: https://space.bilibili.com/15858903
个人网站: http://www.scraft.top