目录

需要用到的工具

软件安装

下载安装 Visual Studio Code

下载安装 STM32Cubemx

下载安装 ARM GCC交叉编译工具链

下载安装 Msys2

下载安装 OpenOCD

下载安装 Make

开发环境配置

msys2_shell.cmd作为VSCode的终端

生成Makefile工程

VsCode下编译工程

安装C/C++插件

添加GDB调试

添加任务

添加OcdStm32.cfg文件

编译下载调试

打开调试服务命令

开始调试

运行效果展示


需要用到的工具

  1. Visual Studio Code
  2. STM32Cubemx
  3. ARM GCC 交叉编译工具链
  4. Msys2
  5. OpenOCD
  6. Make
  7. ST-link
  8. STM32F4板子

软件安装

下载安装 Visual Studio Code

软件正常安装就行,在安装快要完成的时候,将VSC添加到Path。

下载安装 STM32Cubemx

软件正常安装就行。需要注意的时候,后期需要将自己使用到的库,添加到STM32Cubemx。

下载安装 ARM GCC交叉编译工具链

软件正常安装。安装完成后把bin文件夹加到系统环境变量。然后在CMD命令行下输入arm-none-eabi-gcc -v,测试环境ARM GCC是否安装正常。如下图所示

下载安装 Msys2

正常安装Msys2。然后让其直接继承Windows的环境变量,在msys2文件夹下有msys2_shell.cmd,用记事本打开,把第16行前的rem去掉,改成set MSYS2_PATH_TYPE=inherit。如下图所示

下载安装 OpenOCD

在硬盘里找个位置,然后将OpenOCD解压到当前目录,即安装完成。然后将bin或者bin-x64目录添加到系统环境变量。运行openocd -v,测试安装是否正常。如下图所示

下载安装 Make

文件选择Complete package, except sources(如果无法进入下载页面,请从文末给出的网盘地址进行下载)。然后将bin目录加到系统环境变量。运行make -v,测试安装是否正常。如下图所示

双击打开msys2_shell.cmd,进入目录下有Makefile的工程,运行make,看是否编译成功。如下图所示

至此,所需要的软件已经全部安装完成,接下来,进行开发环境的配置。

开发环境配置

msys2_shell.cmd作为VSCode的终端

在VsCode中,使用快捷键ctrl+shift+p搜索setting,找到“首选项:打 开设置(json)”。点击会进入一个文件,把这两行复制进去,只要改第一行msys2_shell.cmd的地址。

{"terminal.integrated.shell.windows":"C:/msys64/msys2_shell.cmd",  "terminal.integrated.shellArgs.windows": ["-defterm", "-mingw32", "-no-start", "-here"],
}

生成Makefile工程

打开STM32Cubemx,在ToolChain/IDE选项中选择Makefile,生成一个Makefile工程。如下图

VsCode下编译工程

将生成的Makefile工程,添加到VsCode中,然后在终端下选择使用msys2_shell.cmd终端。然后输入make编译命令。如下图所示。

安装C/C++插件

在VsCode中打开插件商店,然后输入C/C++,点击安装,安装此插件。如下图所示

添加GDB调试

如上图

第一步:点击调试按钮。

第二步:点击白色下拉箭头,然后选择GDB/LLDB。

然后在launch.json中直接复制以下代码,有 // 备注的地方,需要修改相关参数。

{"version": "0.2.0","configurations": [{"name": "ARM Debug","type": "cppdbg","request": "launch",           "program": "${workspaceFolder}/build/${workspaceRootFolderName}.elf","cwd": "${workspaceFolder}","externalConsole": true,"MIMode": "gdb","miDebuggerPath": "C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gdb.exe", //交叉编译工具链地址"setupCommands": [{"text": "file C:/Users/Administrator/Desktop/666/666/build/666.elf", //工程使用绝对地址},{"text": "target remote localhost:3333",     //调试器端口号},//以下命令根据不同的单片机可能有变化,例如STM32F1就不行,需要更换命令,STM32F4可以。gdb是可以手动用命令行执行的,这部分就是需执行的命令。百度,谷歌可以找到的。{"text": "monitor reset",},{"text": "monitor halt",},{"text": "load" ,                          }],"preLaunchTask": "build"
}
]
}

添加任务

第一步:ctrl+shift+p打开命令面板。

第二步:搜索tasks。

第三步:点配置任务。

第四步:选择工程文件夹,选择Others

然后在打开的tasks.json中复制下图代码

//tasks.json
{"version": "2.0.0","tasks": [{"label": "build","type": "shell","command": "echo compile exeover&make -j4"}]
}

添加OcdStm32.cfg文件

在工程目录下(和Makefile文件同一目录)添加OcdStm32.cfg文件。然后配置以下参数。

interface stlink-v2 #调试器的名字,在openocd-0.10.0\scripts\interface里找
transport select swd #接口名,swd或jtag
source [find target/stm32f4x.cfg]  #芯片类型,在openocd-0.10.0\scripts\target里找

至此,配置已经全部结束了。

编译下载调试

打开调试服务命令

在msys2_shell.cmd命令行下,输入 openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg。当出现 stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints 说明调试服务已经打开。如下图

开始调试

当打开调试服务以后,按F5键,就可以开始调试了。 当出现下图以后,再按F5键,代码就跑起来了。

运行效果展示

至此,经过三天的配置学习,查阅了许多资料,关于Vsc配置ARM开发环境的工作已经全部完成了。

特别感谢Aakrin、SSulG两老哥提供的帮助。

参考资料:

https://blog.csdn.net/qq_41544116/article/details/89525709

https://www.jianshu.com/p/32efe218e18f

https://www.jianshu.com/p/b9d9008b1921

https://www.jianshu.com/p/4d88dc2e1826

https://blog.csdn.net/zhengyangliu123/article/details/79090601

后期,将继续介绍一些关于VSC开发STM32的小技巧。

本文用到的相关工具:

链接:https://pan.baidu.com/s/1IUOnAzGE8icNCRpXlXdd4Q

提取码:oeqb

VSCode搭建ARM(STM32开发环境)相关推荐

  1. 在windows上配置VScode支持ARM GCC开发环境

    简单有效的在windows上,配置VS Code,以支持GCC开发环境.没有什么花里胡哨的. 需要用到的工具 Visual Studio Code :编辑工具 ARM GCC :            ...

  2. 在Windows使用VSCode搭建嵌入式Linux开发环境

    在Windows使用VSCode搭建嵌入式Linux开发环境 百问网已经制作好了完备的Ubuntu镜像,可以从这里下载: 链接:https://pan.baidu.com/s/1vw4VUV_Mvt0 ...

  3. windows+vscode搭建远程linux开发环境

    windows+vscode搭建远程linux开发环境 保证linux安装了ssh服务 在vscode安装插件 配置远程Linux服务器信息 链接Linux服务器 选择项目开发目录 保证linux安装 ...

  4. vscode读linux源码,vscode搭建linux内核开发环境

    vscode在linux下搭建内核驱动开发环境 一.前言 Souce insight是一个阅读.开发linux内核驱动模块的好工具,但是Source insight是收费的软件,而且没有原生linux ...

  5. 【Windows系统】基于vscode搭建go语言开发环境

    微信公众号:CurryCoder的程序人生 怕什么真理无穷,进一寸有一寸的欢喜 1.golang安装包下载与安装 关于vscode的下载,请参见历史文章Ubuntu16.04下搭建vscode的C++ ...

  6. vscode 搭建Linux 内核开发环境

    > 现在的开发没有补全会非常难受,在现有的IDE 中vscode 的环境是轻量级的,所以选择vscode搭建这样的环境 主要就是includePath 的路径填写,其他的随便就好,这个是你补全的 ...

  7. vscode搭建Verilog HDL开发环境

      工欲善其事,必先利其器.应该没有多少人会使用Quartus和vivado这些软件自带的编辑器吧,原因在于这些编辑器效率很低,Verilog HDL代码格式比较固定,通常可以利用代码片段补全加快书写 ...

  8. 记windows平台使用vscode 搭建linux c++开发环境

    本篇主要是将vscode官网的介绍实践一遍. 官网链接:https://code.visualstudio.com/docs/cpp/config-mingw 本篇不实用linux虚拟机和linux ...

  9. QEMU搭建ARM linux开发环境

    qemu可以用来模拟嵌入式的开发板,很多的嵌入式开发技巧完全可以抛开开发板来做实验,甚至可以直接调试驱动.内核调试就更加方便了. 主要参考了:https://www.jianshu.com/p/948 ...

最新文章

  1. Windows 2003 AD升级到 Windows 2008 AD
  2. 一起学设计模式 - 命令模式
  3. Linux下的文件系统
  4. Java后端架构开荒实战(二)——单机到集群
  5. 什么是分布式锁及正确使用redis实现分布式锁
  6. 三元表达式,递归,匿名函数,内置函数
  7. Java核心类库篇3——util
  8. HashMap暴力枚举(洛谷P1765题题解,Java语言描述)
  9. 思科ACL阻止勒索病毒
  10. 学号 20165329 《Java程序设计》第4周学习总结
  11. java 信号处理模块_GitHub - Astoros-Fung/JavaDsp: 数字信号处理(DSP)方面的Java封装,包含常用的一些处理方法,如滤波、信号变换等等。...
  12. linux 开山(尚硅谷)--听课笔记-
  13. 【181129】VC++ 屏幕截取(窗口截图、选区截图)、屏幕拾色器、放大镜源代码
  14. 谁说EMC、IBM不能替换,还你一个存储虚拟化的真相!
  15. CDH 5.14.2 server启动报错 Can't DROP FOREIGN KEY `FK_SERVICE_CONFIG_REVISION`; check that it exists
  16. fatal detected dubious ownership in repository at解决办法
  17. 倍福BECKHOFF PLC:FileWirte/Puts,FileRead/Gets File Function Blocks文件操作功能块
  18. sql实现学生信息查询
  19. 【BUUCTF】[MRCTF2020]套娃
  20. 用于钢结构桥梁局部计算的ansa建模教程1

热门文章

  1. 不用加减乘除符号计算两数之和
  2. Ubuntu18.04安装Multiwfn
  3. git diff命令输出的含义
  4. android camera(二):摄像头工作原理、s5PV310 摄像头接口(CAMIF)
  5. Windows Embedded Compact 2013 安装体验
  6. 交叉验证python代码_急!请教一个python里交叉验证的问题
  7. scvmm live migration issue
  8. java并发的艺术-读书笔记-第八章常用的并发工具类
  9. 《R语言初学指南》一2.8 参考文献
  10. 【java设计模式】之 代理(Proxy)模式