首页 > 其他分享 >Vscode+gcc-arm+openocd搭建STM32开发环境

Vscode+gcc-arm+openocd搭建STM32开发环境

时间:2024-04-07 20:46:13浏览次数:27  
标签:openocd gcc Vscode make 配置 编译

1 简介

尝试使用Vscode搭建STM32开发环境,自己记录一下详细的配置过程

2 工具下载

设计到的相关软件以及资源包括Vscode软件、STM32CubeMX、mingw64以及openocd,相应的软件介绍以及下载链接如下:

  • Vscode软件: 宇宙第一编辑器,开源,插件丰富
  • CubeMx: 初始化代码生产器,HAL库
  • mingw64: 因为需要使用make、rm等命令,所以需要资源
  • gcc-arm-none-eabi: 因为我们要在PC机上编译出可以运行在ARM上的程序,使用gcc编译出的是在PC上运行的程序,所以我们要使用gcc-arm-none-eabi进行交叉编译
  • openOCD: 与各种调试器硬件一起使用,通过调试接口(如 JTAG、SWD 等)与目标设备(例如微控制器)通信
    具体的安装过程在此不展开,网上有很多相关教程。
    安装完成后使用命令行进行检查,确认环境配置好
openOCD -
arm-none-eabi-gcc -v
gcc -v

这里有一个需要注意就是,因为会使用到make命令,所以需要将mingw中bin目录的mingw-32-make改为make,然后使用命令检查

make -v
GNU Make 4.2.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

所有配置正确后,会出现对应的版本信息

3 Vscode插件安装

  • Cortex-Debug
    在这里插入图片描述
  • C/C++ 插件
    在这里插入图片描述

4 使用STM32Cube MX 生成配置文件

这里注意,配置完成后生产工程文件,需要选择makefile文件
在这里插入图片描述
使用Vscode打开文件夹,主要内容保留
在这里插入图片描述

5 复制openocd文件

根据板子对应的芯片型号以及使用的调试器,将openocd中的相关文件复制到makefile同一路径,本文中使用的开发板芯片为stm32f4,调试下载器为daplink,复制相关配置如下

D:\work\tool\OpenOCD-20211118-0.11.0\share\openocd\scripts\interface\cmsis-dap.cfg
D:\work\tool\OpenOCD-20211118-0.11.0\share\openocd\scripts\target\stm32f4x.cfg

6 配置VS Code 完成开发调试

1. 配置C/C++ 环境

这一步主要是消除程序文件中的波浪线提示,需要添加对应的头文件索引,按下ctrl+shift+P进入命令配置界面,选择C/C++ UI配置
在这里插入图片描述
相应配置如下:
在这里插入图片描述
在这里插入图片描述

2 配置任务

在这里插入图片描述
新增一个任务配置,任务配置内容如下:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "make",
            "args": [],
            "group": "build"
        },
        {
            "label": "download",
            "type": "shell",
            "command": "openocd",
            "args": [
                "-f",
                "cmsis-dap.cfg",
                "-f",
                "stm32f4x.cfg",
                "-c",
                "program build/407_Prj.elf verify reset exit"
            ],
            "group": "build"
        }
    ]
}

这个任务文件是用于配置 Visual Studio Code 中的任务,其中包含了两个主要任务:一个用于编译项目,另一个用于将程序下载到目标设备中进行调试。第一个任务使用 make 命令编译项目,而第二个任务使用 openocd 命令将编译后的 ELF 文件加载到目标设备中。

3. 配置调试参数

在这里插入图片描述

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "cwd": "${workspaceRoot}",
            "executable": "./build/407_Prj.elf",
            "name": "Debug Microcontroller",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "configFiles": [
                "cmsis-dap.cfg",
                "stm32f4x.cfg"
            ],
            "showDevDebugOutput": "none"
        }
    ]
}

4. 修改Makefile文件

由于window并不支持-rm -fR命令,所以需要将Makefile文件中的clean命令做相应修改

#	-rm -fR $(BUILD_DIR)
   -del /q $(BUILD_DIR) 

编译下载

至此完成了开发环境的配置工作,可以进行编译和调试,但是还有一些代做的,比如串口重定向,浮点数等
在这里插入图片描述

在这里插入图片描述

参考资料

  1. https://github.com/c1emon/program-stm32-with-vscode
  2. https://blog.csdn.net/pyt1234567890/article/details/122522700
  3. https://mp.weixin.qq.com/s/XW6vxmU5ibRRSS8Zl4GotA

标签:openocd,gcc,Vscode,make,配置,编译
From: https://www.cnblogs.com/PhoenixTree/p/18119823

相关文章

  • gcc bin 文件转化为静态库文件
    D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\driver_mag_prj.elfD:\workplace\project\driver_prj\driver_prj_mag\bin\Release\driver_mag_prj.binC:\ProgramFiles(x86)\EmBitz\1.11\share\em_armgcc\arm-none-eabi\bin\objcopy.e......
  • vscode快捷键(shortcut of vscode)__Visual Studio Code
    移动当前行向上:Alt+↑Moveasinglelineup移动当前行向下:Alt +↓Moveasinglelinedown 复制当前行并将其插入到上一行:Shift+Alt+↑Duplicatethecurrentlineorselectionabovethecurrentline复制当前行并将其插入到下一行:Shift+Alt+↓Duplicatethe......
  • vscode选中内容一键转换大小写
    可以通过在VisualStudioCode中配置`keybindings.json`文件来实现通过按键组合进行大小写转换的功能。你可以按照以下步骤操作:1.打开VisualStudioCode。2.点击顶部菜单中的"文件(File)"。3.选择"首选项(Preferences)"。4.选择"键绑定(KeyboardShortcuts)"。5.......
  • 解决VSCode打开终端Terminal闪退的问题
    原文连接:https://blog.csdn.net/birdfly2015/article/details/135013758一、背景在新电脑上使用了VSCode,但是一打开Terminal,Terminal马上就消失了,在网上找了很久,都没有找到对应的分析二、解决思路首先,是从这个文档中找到了灵感,这个文档里面汇集了大部分的问题,如果有其他问题可以......
  • 【vscode】vscode配置汇编环境
    【vscode】vscode配置汇编环境前言‍因为近来个人的课程涉及到汇编语言,加上个人目前是个vscode的重度使用者,所以,要捣鼓一下汇编的配置。自然,有很多博客写过如何配置,但是每个人在配置过程中关注的点都会有所不同。因此,一方面,我会在博客末尾给出参考的博客的链接,另一方面,我会写......
  • 关于 VScode, 点击文件右键或者在文件夹中没有 【 在vscode中打开选项】 解决办法
    关于VScode,点击文件右键或者在文件夹中没有【在vscode中打开选项】解决办法段子手-1682024-4-61、在任意位置创建一个文本文件。如:a.txt2、复制以下代码到a.txt文本文件中。(注:以;开头的,是备注信息,不需要做任何修改)WindowsRegistryEditorVersion......
  • 【vscode】vscode配置汇编环境
    【vscode】vscode配置汇编环境前言‍因为近来个人的课程涉及到汇编语言,加上个人目前是个vscode的重度使用者,所以,要捣鼓一下汇编的配置。自然,有很多博客写过如何配置,但是每个人在配置过程中关注的点都会有所不同。因此,一方面,我会在博客末尾给出参考的博客的链接,另一方面,我会写......
  • 【vscode】vscode配置汇编环境
    【vscode】vscode配置汇编环境前言‍因为近来个人的课程涉及到汇编语言,加上个人目前是个vscode的重度使用者,所以,要捣鼓一下汇编的配置。自然,有很多博客写过如何配置,但是每个人在配置过程中关注的点都会有所不同。因此,一方面,我会在博客末尾给出参考的博客的链接,另一方面,我会写......
  • VSCODE EIDE使用debug记录
    用上vscode之后就感觉之前的keil不太爽了,找什么东西搜索都很麻烦,之前有写过eide的文章,想着能不能在eide里面就把debug也做了,发现真的可以,下面记录一下,主要是参考这个大佬的文章,非常感谢。VscodeEIDE+CortexDebug搭建STM32开发仿真环境本身是依赖这个软件,需要安装一下......
  • 特别篇 VSCode+MSYS2 更好的开发环境搭建!
    前言想必,凡是参与过NOI系列赛事的,都对下面的图很熟悉:没错,它就是Dev-C++,NOI系列比赛Windows环境制定软件,但它在日常刷题过程中体验相当不好,几乎没有的高亮显示,陈旧的编译器……因此,我们是时候配置一个更好的代码编辑平台了!要求一方面,你应该确保你自身有能力在不借助高亮显示......