VSCode搭建ARM(STM32开发环境)
目录
需要用到的工具
软件安装
下载安装 Visual Studio Code
下载安装 STM32Cubemx
下载安装 ARM GCC交叉编译工具链
下载安装 Msys2
下载安装 OpenOCD
下载安装 Make
开发环境配置
msys2_shell.cmd作为VSCode的终端
生成Makefile工程
VsCode下编译工程
安装C/C++插件
添加GDB调试
添加任务
添加OcdStm32.cfg文件
编译下载调试
打开调试服务命令
开始调试
运行效果展示
需要用到的工具
- Visual Studio Code
- STM32Cubemx
- ARM GCC 交叉编译工具链
- Msys2
- OpenOCD
- Make
- ST-link
- 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开发环境)相关推荐
- 在windows上配置VScode支持ARM GCC开发环境
简单有效的在windows上,配置VS Code,以支持GCC开发环境.没有什么花里胡哨的. 需要用到的工具 Visual Studio Code :编辑工具 ARM GCC : ...
- 在Windows使用VSCode搭建嵌入式Linux开发环境
在Windows使用VSCode搭建嵌入式Linux开发环境 百问网已经制作好了完备的Ubuntu镜像,可以从这里下载: 链接:https://pan.baidu.com/s/1vw4VUV_Mvt0 ...
- windows+vscode搭建远程linux开发环境
windows+vscode搭建远程linux开发环境 保证linux安装了ssh服务 在vscode安装插件 配置远程Linux服务器信息 链接Linux服务器 选择项目开发目录 保证linux安装 ...
- vscode读linux源码,vscode搭建linux内核开发环境
vscode在linux下搭建内核驱动开发环境 一.前言 Souce insight是一个阅读.开发linux内核驱动模块的好工具,但是Source insight是收费的软件,而且没有原生linux ...
- 【Windows系统】基于vscode搭建go语言开发环境
微信公众号:CurryCoder的程序人生 怕什么真理无穷,进一寸有一寸的欢喜 1.golang安装包下载与安装 关于vscode的下载,请参见历史文章Ubuntu16.04下搭建vscode的C++ ...
- vscode 搭建Linux 内核开发环境
> 现在的开发没有补全会非常难受,在现有的IDE 中vscode 的环境是轻量级的,所以选择vscode搭建这样的环境 主要就是includePath 的路径填写,其他的随便就好,这个是你补全的 ...
- vscode搭建Verilog HDL开发环境
工欲善其事,必先利其器.应该没有多少人会使用Quartus和vivado这些软件自带的编辑器吧,原因在于这些编辑器效率很低,Verilog HDL代码格式比较固定,通常可以利用代码片段补全加快书写 ...
- 记windows平台使用vscode 搭建linux c++开发环境
本篇主要是将vscode官网的介绍实践一遍. 官网链接:https://code.visualstudio.com/docs/cpp/config-mingw 本篇不实用linux虚拟机和linux ...
- QEMU搭建ARM linux开发环境
qemu可以用来模拟嵌入式的开发板,很多的嵌入式开发技巧完全可以抛开开发板来做实验,甚至可以直接调试驱动.内核调试就更加方便了. 主要参考了:https://www.jianshu.com/p/948 ...
最新文章
- Windows 2003 AD升级到 Windows 2008 AD
- 一起学设计模式 - 命令模式
- Linux下的文件系统
- Java后端架构开荒实战(二)——单机到集群
- 什么是分布式锁及正确使用redis实现分布式锁
- 三元表达式,递归,匿名函数,内置函数
- Java核心类库篇3——util
- HashMap暴力枚举(洛谷P1765题题解,Java语言描述)
- 思科ACL阻止勒索病毒
- 学号 20165329 《Java程序设计》第4周学习总结
- java 信号处理模块_GitHub - Astoros-Fung/JavaDsp: 数字信号处理(DSP)方面的Java封装,包含常用的一些处理方法,如滤波、信号变换等等。...
- linux 开山(尚硅谷)--听课笔记-
- 【181129】VC++ 屏幕截取(窗口截图、选区截图)、屏幕拾色器、放大镜源代码
- 谁说EMC、IBM不能替换,还你一个存储虚拟化的真相!
- CDH 5.14.2 server启动报错 Can't DROP FOREIGN KEY `FK_SERVICE_CONFIG_REVISION`; check that it exists
- fatal detected dubious ownership in repository at解决办法
- 倍福BECKHOFF PLC:FileWirte/Puts,FileRead/Gets File Function Blocks文件操作功能块
- sql实现学生信息查询
- 【BUUCTF】[MRCTF2020]套娃
- 用于钢结构桥梁局部计算的ansa建模教程1