VSCode搭建ARM(STM32开发环境)

目录

 

需要用到的工具

软件安装

下载安装 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是否安装正常。如下图所示

VSCode搭建ARM(STM32开发环境)_第1张图片

下载安装 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,测试安装是否正常。如下图所示

VSCode搭建ARM(STM32开发环境)_第2张图片

双击打开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搭建ARM(STM32开发环境)_第3张图片

VsCode下编译工程

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

安装C/C++插件

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

VSCode搭建ARM(STM32开发环境)_第4张图片

添加GDB调试

VSCode搭建ARM(STM32开发环境)_第5张图片

如上图

第一步:点击调试按钮。

第二步:点击白色下拉箭头,然后选择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 说明调试服务已经打开。如下图

VSCode搭建ARM(STM32开发环境)_第6张图片

 

开始调试

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

VSCode搭建ARM(STM32开发环境)_第7张图片

 

运行效果展示 

 

 

至此,经过三天的配置学习,查阅了许多资料,关于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)