VSCode搭建STM32开发环境

简介

习惯了VScode的代码风格,借助STM32CubeMX+VScode完成对STM32的开发,同时可以使用STLINK下载代码

资源获取

百度云链接:

链接:https://pan.baidu.com/s/11ue4PlSL6iIodiUCD_8Lmg?pwd=v290 
提取码:v290 
--来自百度网盘超级会员V4的分享

CSDN链接:资源包下载地址

前期准备

  • 安装好了STM32CubeMX,并且安装了相应的库支持包
  • 安装好了STLINK驱动,以及其他相关驱动
  • 安装好了VScode并且安装了以下插件
Better C++ Syntax 用于分析C/C++语法
C/C++ 用于支持C/C++语法,以及go to Define相关操作
C/C++ Extension Pack 
C/C++ Snippets
Makefile Tools
Cortex-Debug
Cortex-Debug: Device Support Pack - STM32F1
debug-tracker-vscode
RTOS Views

安装mingw

  1. 点击安装,自定义好软件安装位置,等待下载相关支持包,如果下载较慢,可以试着挂梯子
    在这里插入图片描述

  2. 右键,选择Mark for installation 选中安装,最后全选
    在这里插入图片描述

  3. 全选后点击应用更改,然后点击确定,等待下载所需要的包
    在这里插入图片描述

  4. 等待下包
    在这里插入图片描述

  5. 安装成功后将bin目录下的mingw32-make.exe 重命名为make.exe

  6. 将mingW 位置加入环境变量,我安装的路径是D:\MinGW\bin,加入成功后打开cmd 输入make -v 打印出版本号就是安装成功

安装OpenOCD

  1. 将文件中的OpenOCD 拷贝到一个目录,我这里拷贝到mingW的安装目录下,新建了一个工具文件夹
    在这里插入图片描述
  2. OpenOCD的bin文件夹和share\openocd\scripts加入环境变量,如图所示
    在这里插入图片描述
  3. 在cmd命令中输入openocd -v打印版本号后即安装成功

安装gcc

  1. 将资源中的gcc-arm-none-eabi-10.3-2021.10-win32.zip 拷贝到一个目录并解压,这里我拷贝到mingw目录下的tool文件夹内
  2. gcc-arm-none-eabi-10.3-2021.10-win32\Arm-GNU-Toolchian\bin加入环境变量,如图所示
    在这里插入图片描述
  3. 在cmd 中输入**arm-none-eabi-gcc -v **打印gcc版本信息即是安装成功
    在这里插入图片描述
    注意:如果增加环境变量后 -v命令并没有输出,请确保两个地方的环境变量中的Path路径都加上了,再一个重新打开下cmd试试

STM32CubeMX生成代码

前面配置部分按照需要配置,在工程管理中,此处选择Makefile
在这里插入图片描述

VScode设置

生成的文工程文件如图所示,空白处点击右键,选择意VScode打开
在这里插入图片描述
打开设置,输入make 搜索,在make path处选择路径为make(因为前面已经把mingw32-make改名为make,如果没改名,则依旧使用mingw32-make)
在这里插入图片描述

编译代码

在终端处,选择新建终端
在这里插入图片描述在打开的终端中输入make 等待编译成功,编译成功会显示生成hex文件的地址
在这里插入图片描述

下载代码

我使用STLINK 下载代码,在makefile中配置下载代码
新增加flash 命令如下,我使用的是stm32f103c8t6 ,所以是target/stm32f1x.cfg 后面的.cfg文件根据自己使用的板子修改,源文件路径在openocd\scripts\target 文件夹中,此文件夹前面已经加入到环境变量中了。

flash:
	openocd -f interface/stlink-v2-1.cfg -f target/stm32f1x.cfg -c "program $(BUILD_DIR)/$(TARGET).elf reset exit" 

为了将编译和下载命令合为一体,新增以下命令,含义是先编译,后自动下载

download:$(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
	openocd -f interface/stlink-v2-1.cfg -f target/stm32f1x.cfg -c "program $(BUILD_DIR)/$(TARGET).elf reset exit" 

所以我们编译所用到的命令如下

make 只编译不下载
make flash 下载编译好的文件
make download 编译并下载

使用jlink下载代码

上面是使用STLINK下载的代码 如果换成了jlink 则需要做以下修改

  1. 找到openocd的配置文件,复制一份jlink.cfg 并命名为jlink_swd.cfg 由于jlink默认连接方式为JTAG,所以在这需要做一下修改
    在这里插入图片描述
  2. 打开文件做以下修改 主要是将传输模式改成了swd 以及连接速度设置为500KHZ
#
# SEGGER J-Link
#
# http://www.segger.com/jlink.html
#

adapter driver jlink

transport select swd

# add speed config
adapter speed 500

# The serial number can be used to select a specific device in case more than
# one is connected to the host.
#
# Example: Select J-Link with serial number 123456789
#
# jlink serial 123456789

  1. 使用openocd下载会提示找不到jlink,是因为jlink驱动被识别为USB驱动而不是串行驱动 所以需要做一个转换,下载zadig软件 zadia下载链接
    在这里插入图片描述
  2. 打开软件 options->List All Devices 选择jlink
    在这里插入图片描述
    点击按钮,等待替换完成
    在这里插入图片描述

修改Makefile

flash:
	openocd -f interface/jlink_swd.cfg -f target/stm32f1x.cfg -c "program $(BUILD_DIR)/$(TARGET).elf reset exit" 

测试一下 下载成功
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值