配置vscode用于STM32编译,Debug

配置环境参考:

Docs

用cubemx配置工程文件,用VScode打开工程文件。

编译的时候会有如下报错:

vscode出现process_begin :CreateProcess  failed  系统找不到指定文件

解决方案:在你的makefile中加上SHELL=cmd.exe就可以了

参考自:

https://tjut-liflab.feishu.cn/docx/J7EOdpa4uod97fxOEAacornxnPg

配置好的工程包含如下文件:

在.vscode文件夹下需要添加如下文件:

launch文件的配置如下:

{// 启动调试的快捷键是F5"version": "0.2.0","configurations": [// 使用dap-link(如无线调试器时的参考配置){"name": "DAPlink","cwd": "${workspaceRoot}","executable": "${workspaceRoot}\\build\\testvs.elf", // 要下载到调试器的文件,花括号中的是vscode两个预定义的参数"request": "launch","type": "cortex-debug",//使用J-link GDB Server时必须;其他GBD Server时可选(有可能帮助自动选择SVD文件)//支持的设备见 https://www.segger.com/downloads/supported-devices.php"device": "STM32F103RC",//svd文件,有这个文件才能查看寄存器的值,每个单片机都不同。可以在以下地址找到 https://github.com/posborne/cmsis-svd//该项目的根目录已经提供了C型开发板使用的外设svd文件"svdFile": "STM32F103.svd","servertype": "openocd", //使用的GDB Server"configFiles": ["openocd_dap.cfg", // 配置文件已经在根目录提供,若要修改以此类推,openocd的路径下的share/scripts中有各种写好的配置文件],"runToEntryPoint": "main", // 调试时在main函数入口停下"rtos": "FreeRTOS",//"preLaunchTask": "build task",//先运行Build任务编译项目,取消注释即可使用// dap若要使用log,请使用Jlink调试任务启动,之后再打开log任务// 若想要在调试前编译并且打开log,可只使用log的prelaunch task并为log任务添加depends on依赖}]
}

c_cpp_properties.json文件配置如下:

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"cStandard": "c17","cppStandard": "gnu++17","intelliSenseMode": "windows-gcc-arm","configurationProvider": "ms-vscode.makefile-tools"}],"version": 4
}

task.json文件的配置如下:

{"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "D:\\VScode\\MSYS2\\mingw64\\bin\\gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

settings.json文件的配置如下:

{"C_Cpp.default.compilerPath": "D:\\VScode\\MSYS2\\mingw64\\bin\\gcc.exe"
}

添加新的文件的时候需要在Makefile文件中添加源文件和头文件路径:格式为-I   +   该文件的相对路径

stm32f1x.cfg文件可以从D:\VScode\OpenOCD\share\openocd\scripts\board中找到

openocd_dap.cfg中的内容;

#source [find interface/stlink.cfg]
source [find interface/cmsis-dap.cfg]transport select swd# increase working area to 64KB
set WORKAREASIZE 0x10000source [find target/stm32f1x.cfg]#reset_config srst_only

STM32F103.svd文件需要自行下载。

配置DAP调试的时候一直有一个报错,说是GDB sever打不开,根据报错提示说是在终端中找报错,发现工程找不到openocd_dap.cfg,于是发现工程中的这个文件没有放到文件根目录下,得已解决 

总结:报错的时候一定耐心看报错信息

debug的时候要点开下图左下角的齿轮,按绿色的三角进行debug。

这个调试是针对C/C++代码的,不要用这个调试。

更换终端窗口可以debug的时候编译,并重新下载程序。

这个是debug下载程序的地方,这个是可以直接下载到单片机中的,断电或关闭调试模式仍然有效。

配置好的STM32F103RCT6点灯工程链接:

链接: https://pan.baidu.com/s/1Or_zm_NoZ-HuMrpTNkZ_RQ?pwd=3508 提取码: 3508 复制这段内容后打开百度网盘手机App,操作更方便哦

/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/598033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VRRP+MSTP+BFD

一、组网 二、要求 PC6(vlan 10内PC)访问1.1.1.1走JR-1——CORE1——MSR到1.1.1.1 PC7(vlan 20内PC)访问1.1.1.1走JR-2——CORE2——MSR到1.1.1.1 链路故障时切换路线,来回路径一致 三、配置步骤 SR bfd echo-sou…

大数据系列 | Kafka架构分析及应用

大数据系列 | Kafka架构分析及应用 1. Kafka原理分析2. Kafka架构分析3. Kafka的应用3.1. 安装Zookeeper集群3.2. 安装Kafka集群3.3. 生产者和消费者使用3.3.1. 生产者使用3.3.1. 消费者使用 4. Kafka Controller控制器 1. Kafka原理分析 Kafka是一个高吞吐量、 持久性的分布式…

C++进阶篇11---IO流

一、对C语言的输入输出的理解 C语言中我们经常用scanf()和printf()进行输入输出,形象的描述它们的作用如下 对于缓冲区的理解: 可以屏蔽掉低级I/O的实现,低级I/O的实现依赖操作系统本身内核的实现,所以如果能够屏蔽这部分的差异…

【使用flex两端对齐加margin-right】

解决办法众多&#xff1a;https://cloud.tencent.com/developer/article/1516801 <div class"job_tabs_content"><div class"job_tab_item"></div><div class"job_tab_item"></div><div class"job_tab_i…

C语言整数和小数的存储

1.整数在内存中的存储 计算机使用二进制进行存储、运算&#xff0c;整数在内存中存储使用的是二进制补码 1.1原码、反码、补码 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分&#xff0c;符号位都是⽤0表⽰“正”&am…

vue快速入门(七)内联语句

注释很详细&#xff0c;直接上代码 上一篇 新增内容 button点击事件绑定内联语句写法与要求 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…

C++搭建深度学习的推理框架

我们的目的是:借助C++搭建一个类似于pytorch,tensorflow的深度学习框架,对标pytorch,tensorflow实现对应的功能。由于本人能力有限,下面本人将借助C++搭建一个简单的全连接神经网络,并且尝试解释里面的算子定义和计算图构建。 算子定义 回顾pytorch里面搭建的全连接神经网…

微信小程序使用icon图标

原因&#xff1a; 微信小程序使用fontawesome库使用icon图标&#xff0c;网上有很多教程&#xff0c;按照网上说法制作&#xff0c;引入到微信小程序中&#xff0c;但是验证成功&#xff0c;只能使用部分图标&#xff0c;结果不尽如人意。后面使用阿里巴巴开源iconfont来使用ic…

A Novel Distributed File System Using Blockchain Metadata——论文泛读

Wireless Personal Communications 2023 Paper 分布式元数据论文阅读笔记整理 问题 随着来自不同来源&#xff08;如在线社交媒体、物联网、移动数据、传感器数据、黑匣子数据等&#xff09;的大量数据以指数级的速度增长&#xff0c;集群计算已成为数据处理中不可避免的一部…

【移动安全】对webview漏洞的一些分析

这次分析的app如下&#xff1a; 打开发现该app发现需要登录界面&#xff1a; 拖进jadx看一下&#xff0c;先来看一下AndroidManifest.xml文件 发现有两个类是导出&#xff0c;再来分析这两个类 这个RegistrationWebView类利用webview.loadUrl进行加载网页 java public class…

【JavaWeb】Day33.MySQL概述

什么是数据库 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 像我们日常访问的电商网站京东&#xff0c;企业内部的管理系统OA、ERP、CRM这类的系统&#xff0c;以及大家每天都会刷的头条、抖音类的app&#xff0c;那这些大家所…

VBA技术资料MF139:在PowerPoint中添加末尾幻灯片

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…