发现我做事情磨刀可能有点误砍柴工了,不过前面3个星期磨刀,积累出的经验让我很有底气去应对程序出现的异常了,极大地节约了以后程序开发的调试成本。
这一篇是我新发现的一个功能,使用vs code 编译下载iar工程。目前只调试出了基本的编译下载功能,但是已经算是很实用了。 实在是不喜欢iar粗俗的界面和不健全的跳转,然后又受不住切换到vs code编写,再到iar调试这样的奇怪模式。
1 安装相关插件
在vs code中搜索安装以下插件:
插件
vs code的使用就不多说了,用vscode打开iar工程的文件夹,它会初始化出来一个.vscode文件夹,这个后面会用到。
安装好插件之后重新加载一下程序,最好重启一下vs code。
2 编译配置
在IAR Embedded Workbench插件的介绍页面可以看到相关内容,这里讲解一下。
IAR
(这个只是使用IAR的功能,所以还是要安装IAR的)
2.1 创建iar.json
在vs的资源管理器中,找到.vscode
,新建文件iar.json ,
输入以下内容:
{
"version": 1,
"path": "C:\\Program Files (x486)\\IAR Systems\\Embedded Workbench 8.0\\",
"project": "C:\\Projects\\TEST\\TEST.ewp",
"config": "Debug"
}
"version"可以随便写
"path"就是iar的路径,可以在电脑的资源管理器里搜索Embedded Workbench找到它
"project"工程位置,就是要编译的iar工程的位置。
以上需要注意的是\
需要进行转义,所以是两个反斜杠。
"config"其实就是iar顶部这个:
2.2 使能
打开vscode的settings.json:
set
在搜索栏搜索iar.enabled,移动鼠标获取会出现一个笔,点击就会在右侧生成true,就配置好了。
true
2.3 build
快捷键ctrl+shift+b 开始调试,可以把搜狗输入法同一个快捷键取消掉(很烦)。
3 debug
这一步就是使用jlink下载调试了。
点击左侧的调试按钮,再点击小齿轮,就会打开launch.json.
debug
需要做的修改示例如下:
{
"version": "0.2.1",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "E:\\demo.out",
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:\\arm-none-eabi-gdb.exe",
"debugServerPath": "C:\\Program Files (x86)\\SEGGER\\JLink_V600i\\JLinkGDBServerCL.exe",
"debugServerArgs": "-if swd -singlerun -strict -endian little -speed auto -port 3333 -device STM32FXXXXX -vd -strict -halt",
"serverStarted": "Connected\\ to\\ target",
"serverLaunchTimeout": 5000,
"filterStderr": false,
"filterStdout": true,
"setupCommands": [
{"text": "target remote localhost:3333"},
{"text": "monitor flash breakpoints = 1"},
{"text": "monitor flash download = 1"},
{"text": "monitor reset"},
{"text": "load E:/demo.out"},
{"text": "monitor reset"}
]
}
]
}
需要修改的是以下几条:
"program":输出的demo.out路径,注意双反斜杠
"miDebuggerPath":在工程中搜索arm-none-eabi-gdb.exe的位置
"debugServerPath":在系统中搜索JLinkGDBServerCL.exe的位置
"debugServerArgs":STM32FXXXX改成对应的具体型号,在这里可以看到:
STM32
"setupCommands": 的{"text": "load后面的路径要改,注意斜杠方向。
最后在左侧顶部点击绿色箭头就可以调试了。
调试