使用VSCode调试嵌入式程序:如何切换gdb server

描述

上文小编给大家介绍了一下如何使用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查看是否安装成功:

GDB调试

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

GDB调试

接下来,开始编写对应的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"
        }
    ]
}

 

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

GDB调试

External方式的使用

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

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

GDB调试

否则会报错:

GDB调试

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

GDB调试

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

GDB调试

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



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分