使用VSCode调试嵌入式程序

上文小编给大家介绍了一下如何使用VSCode结合cortex-debug插件进行调试的方法。本篇就趁热打铁,进一步深入了解一下如何切换gdb server。让我们可以不仅仅使用JLinkGDBServer进行调试。

根据cortex-debug本身介绍,目前所支持的gdb server类型有: supported types are jlink, openocd, pyocd, pe, stlink, stutil, qemu, bmp and external. 本篇将着重介绍使用pyocd以及如何使用external选项来进行调试。

pyocd的配置与使用
安装pyocd非常的方便,我们通过名字就可以看出来,这东西好像是和python有关,没错,安装也是借助于python:
pip install pyocd
安装完毕后,打开控制台,直接键入pyocd查看是否安装成功:

 

安装成功后,我们再来连接一下板子看看是否能够连接成功,这里测试的平台是MIMXRT1060-EVK,输入命令行:pyocd gdbserver –target mimxrt1060,就可以成功连接:

 

接下来,开始编写对应的VSCode配置脚本,请大家着重注意文中标红部分,并根据实际调试情况修改路径。
{    // Use IntelliSense to learn about possible attributes.    // Hover to view descriptions of existing attributes.    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387    "version": "0.2.0",    "configurations": [        {            "name": "Cortex Debug",            "cwd": "${workspaceFolder}",            "executable": " evkmimxrt1060_hello_world.axf",            "request": "launch",            "type": "cortex-debug",            "runToEntryPoint": "main",            "servertype": "pyocd",            "target": "mimxrt1060",            "gdbTarget": "localhost:3333",            "svdFile":             "armToolchainPath": "C:/nxp/MCUXpressoIDE_11.7.1_9221/ide/plugins/com.nxp.mcuxpresso.tools.win32_11.7.1.202301190959/tools/bin"        }    ]}

这样一来就可以开始正式调试了,调试方法和上期一致,点击小绿三角,可以发现程序命中了断点,调试成功。

 

External方式的使用

所谓external其实就是说gdb server是外部开启的,不需要VSCode自动打开。

编写配置脚本,将“servertype”修改为extern,之后需要在本地打开pyocd:

否则会报错:

再次点击绿色小三角,即可进行调试,效果和直接使用pyocd的方式没有任何区别:

 

需要注意:如果此时点击停止调试,本地打开的pyocd会显示断开连接,在下次调试前,需要手动重新开启pyocd的gdb server。

 

好了,通过配置VSCode使用不同的gdb server,可以实现对嵌入式程序的精准调试。这将有助于您更好地理解嵌入式系统的运行机制和代码行为,提高开发效率和质量。希望能够为您提供有用的指导和帮助。感兴趣的朋友也可以尝试一下其他server类型,或者使用external来配置使用暂不直接支持的第三方调试插件。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/89773.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 上午10:32
下一篇 2024年6月5日 上午10:34

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注