赞
踩
编译的时候会有如下报错:
解决方案:在你的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 0x10000
-
- source [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,操作更方便哦
/
选择open with github destop拉取项目。
在vscode的debug界面下可以查看改变的代码与源代码作对比。
输入修改名称,点击提交即可上传。
注意分支不要选错。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。