当前位置:   article > 正文

配置vscode用于STM32编译,Debug,github上传拉取

配置vscode用于STM32编译,Debug,github上传拉取
配置环境参考:

Docs

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

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

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

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

参考自:

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

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

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

launch文件的配置如下:

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

c_cpp_properties.json文件配置如下:

  1. {
  2. "configurations": [
  3. {
  4. "name": "Win32",
  5. "includePath": [
  6. "${workspaceFolder}/**"
  7. ],
  8. "defines": [
  9. "_DEBUG",
  10. "UNICODE",
  11. "_UNICODE"
  12. ],
  13. "cStandard": "c17",
  14. "cppStandard": "gnu++17",
  15. "intelliSenseMode": "windows-gcc-arm",
  16. "configurationProvider": "ms-vscode.makefile-tools"
  17. }
  18. ],
  19. "version": 4
  20. }

task.json文件的配置如下:

  1. {
  2. "tasks": [
  3. {
  4. "type": "cppbuild",
  5. "label": "C/C++: gcc.exe 生成活动文件",
  6. "command": "D:\\VScode\\MSYS2\\mingw64\\bin\\gcc.exe",
  7. "args": [
  8. "-fdiagnostics-color=always",
  9. "-g",
  10. "${file}",
  11. "-o",
  12. "${fileDirname}\\${fileBasenameNoExtension}.exe"
  13. ],
  14. "options": {
  15. "cwd": "${fileDirname}"
  16. },
  17. "problemMatcher": [
  18. "$gcc"
  19. ],
  20. "group": {
  21. "kind": "build",
  22. "isDefault": true
  23. },
  24. "detail": "调试器生成的任务。"
  25. }
  26. ],
  27. "version": "2.0.0"
  28. }

settings.json文件的配置如下:

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

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

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

openocd_dap.cfg中的内容;

  1. #source [find interface/stlink.cfg]
  2. source [find interface/cmsis-dap.cfg]
  3. transport select swd
  4. # increase working area to 64KB
  5. set WORKAREASIZE 0x10000
  6. source [find target/stm32f1x.cfg]
  7. #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界面下可以查看改变的代码与源代码作对比。

输入修改名称,点击提交即可上传。

注意分支不要选错。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/404598?site
推荐阅读
相关标签
  

闽ICP备14008679号