参考连接
这里默认已经安装了vscode和C/C++的基本编译环境,并且下载好了openocd相关的文件
要把vscode改造成可以编译的IDE,需要安装花圈的这几个插件
然后根据参考资料1中正确的将Jlink的驱动进行改造对接openocd之后再进行后续的操作。
注意: 如果进行改造之后,需要还原回Jlink本身的驱动,只需要去设备管理器将对应Jlink链接Openocd的"BULK interface"驱动,卸载掉,然后重新插拔Jlink就可以还原回去。
这里我分享下我目前使用的vscode工程的三个重要的配置文件
settings.json
launch.json
c_cpp_properties.json
settings.json
bash
{
"C_Cpp.intelliSenseEngineFallback": "Enabled",
"C_Cpp.intelliSenseEngine": "Tag Parser",
"cortex-debug.variableUseNaturalFormat": false,
"C_Cpp.dimInactiveRegions": true,
"C_Cpp.inactiveRegionOpacity": 0.55
"cortex-debug.liveWatchRefreshRate": 500,
"cortex-debug.armToolchainPath": 填写你的交叉编译器bin文件夹的绝对路径,
"cortex-debug.openocdPath.windows": 填写你的openocd.exe的绝对路径,
"cortex-debug.objdumpPath.windows":填写你的交叉编译器的objdump.exe的绝对路径,
"cortex-debug.gdbPath.windows":填写你的交叉编译器的gdb.exe的绝对路径,
"mcu-debug.peripheral-viewer.svdPathConfig": "",
}
launch.json
bash
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "这里写你编译出来的elf文件的相对路径",
"name": "Debug Microcontroller",
"request": "launch",
"type": "cortex-debug",
"showDevDebugOutput": "raw",
"interface": "swd",
"runToEntryPoint": "main",
"device": "这里写你的芯片型号,例如STM32F103ZI",
"svdPath": "这里写对应你的芯片的svd文件[用来看芯片外设寄存器]的路径,svd文件可以在openocd的压缩包里找到或者对应厂家的编译器环境里找到",
"servertype": "openocd",
"configFiles": [
"这里写对应你的进行调试所使用的openocd配置文件的名字,这个配置cfg文件最好放在本工程的根目录下"
]
}
]
}
c_cpp_properties.json
bash
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/inc/**",
这里逐条写你需要include的文件夹在本工程的相对路径
],
"defines": [
这里写你需要define的宏定义
],
"compilerPath": 这里写你使用的编译器的绝对路径,例如使用arm-none-eabi-gcc.exe,就写它的绝对路径
"intelliSenseMode": "${default}",
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
],
"version": 4
}
然后完成这些之后
应该在"运行和调试"那里会多一个选项出来
每次点这里进调试。
然后有可能出现的问题
它提示运行错误,GCC版本要大于8
这个是这个Cortex-debug的插件目前对于编译器的版本要求,目前直接安装的插件版本是最新的,如果实在不能换编译器,可以百度下如何下载旧版本的vscode插件,要V1.5以下版本的插件才行.