使用两个 W5500-EVB-PICO 板作为 RP2040 的调试探针

使用两个 W5500-EVB-PICO 板作为 RP2040 的调试探针

转发: Using Two W5500-EVB-PICO Boards as Debugprobes for the RP2040

Surf5 Design Contest

项目介绍

在这篇文章中,我将介绍如何使用两块 W5500-EVB-PICO 板在 VS Code 中运行 Raspberry Pi Pico 的 DebugProbe。

写这篇文章的原因是,虽然有很多与 DebugProbe 相关的文章,但我不得不参考大量文章才能在 Windows 环境中运行它,但仍然无法正常工作。尽管它很简单,但我遇到了太多的反复试验问题。我发布这篇文章是为了帮助其他用户避免这样的困难。

使用此 DebugProbe 有几个原因。值得注意的是,J-Link 和 ST-Link 调试器的成本可能相当高。

使用 W5500-EVB-PICO 作为 DebugProbe 可以大大降低成本问题。Pico 本身很容易以低成本获得,并且它与开源工具的高度兼容性允许在各种开发环境中灵活使用。

这篇文章的测试场景很简单。通过连接两个 PICO 板,我们将通过 SWD 刷新固件,然后调试刷新的固件。在此设置中,一个 PICO 将充当调试器,而另一个将充当调试目标板。

让我们深入了解使用 VS Code 配置此 DebugProbe 的详细步骤。

步骤如下:

  1. 安装 OpenOCD SW
     
  2. 安装最新版本的 ToolChain
     
  3. 设置要调试的项目中路径
     
  4. 运行

通过仔细遵循以下步骤,您将能够在 Windows 环境中将 W5500-EVB-PICO 用作 VS Code 的 DebugProbe。

1. 安装 OpenOCD

首先,从下面的链接下载 OpenOCD 并将其解压到适当的位置。

OpenOCD 下载链接: https://sourceforge.net/projects/openocd/

完成提取后,请参考下图复制可执行文件的路径,以便将其添加到环境变量中。

在Windows搜索栏中搜索“系统环境变量”并运行,然后添加复制的路径,如下所示。

2. 安装最新版本的 ToolChain

接下来,您需要为 GDB 可执行文件安装最新版本的 ToolChain。如果您拥有的 ToolChain 版本已经是最新版本,则无需再次安装。

从以下链接下载 ToolChain:

https://developer.arm.com/downloads/-/gnu-rm

就像 OpenOCD 一样,复制 ToolChain 路径并将其添加到系统环境变量中的“路径”。虽然在安装结束时有一个选项可以将路径添加到环境变量,但您可能会错过它,所以最好再检查一下。

设置 OpenOCD 和 ToolChain 的路径后,您需要重新启动电脑以应用更改。

3. 在项目中设置要调试的路径

您需要在要调试的项目中设置路径。由于WIZnet为W5500-EVB-PICO提供了项目和库,因此我打开了“RP2040-HAT-C”项目以使用环回示例测试调试。

如下所示将.vscode目录添加到项目中,并添加launch.json文件和settings.json文件。

如果是settings.json 文件,则无需添加它。

在项目中,添加一个 .vscode 目录,然后添加 launch.json 和 settings.json 文件,如下所示。

如果 settings.json 文件已经存在,则无需再次添加。

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Cortex Debug",
        "cwd": "${workspaceRoot}",
        "executable": "D:/Pico/RP2040-HAT-C/build/examples/loopback/w5x00_loopback.elf",
        "request": "launch",
        "type": "cortex-debug",
        "servertype": "openocd",
        "gdbPath": "arm-none-eabi-gdb",
        "openOCDLaunchCommands": ["adapter speed 5000"],
        "device": "RP2040",
        "configFiles": [
          "C:/OpenOCD-0.12.0/share/openocd/scripts/interface/cmsis-dap.cfg",
          "C:/OpenOCD-0.12.0/share/openocd/scripts/target/rp2040.cfg"
          ],
          "searchDir": ["C:/OpenOCD-0.12.0/share/openocd/scripts"],
        "svdFile": "D:/Pico/pico-sdk/src/rp2040/hardware_regs/rp2040.svd",
        "runToEntryPoint": "main",
        // Give restart the same functionality as runToEntryPoint - main
        "postRestartCommands": [
            "break main",
            "continue"
        ]
      }
    ]
  }

将以下代码复制并粘贴到 settings.json 文件中,无需任何修改:

{
    "cmake.statusbar.advanced": {
        "debug": {
            "visibility": "hidden"
        },
        "launch": {
            "visibility": "hidden"
        },
        //"build": {
        //    "visibility": "hidden"
        //},
        //"buildTarget": {
        //    "visibility": "hidden"
        //}
    },
    "cmake.buildBeforeRun": true,
    "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}

对于最后的配置步骤,转到路径 C:\Users\(username)\AppData\Roaming\Code\User 并修改那里的 settings.json 文件以设置 VS Code 的默认设置。注意不要将此文件与项目特定的 settings.json 文件混淆。

在上述代码中添加缺少的参数,并设置 cortex-debug.openocdPath 的路径以匹配您自己的路径。

{
    "cmake.generator": "NMake Makefiles",
    "cmake.configureEnvironment": {
        "PICO_SDK_PATH": "D:\\RP2040\\pico-sdk",
        "PICO_TOOLCHAIN_PATH": "C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\10 2021.10\\bin"
    },
    "cmake.configureOnOpen": true,
    "security.workspace.trust.untrustedFiles": "open",
    "cortex-debug.gdbPath": "arm-none-eabi-gdb",
    "cortex-debug.openocdPath": "C:/OpenOCD-0.12.0/bin/openocd.exe",
}

4. 运行

为了执行,请按照如下所示物理连接电路板。

从下面的链接下载调试探针的 UF2 文件,并将其上传到通过 USB 连接的 PICO。

调试探测文件 URL: https://github.com/raspberrypi/debugprobe/releases

在扩展选项卡中搜索 Cortex-Debug 并安装它。

通过 USB 将 Debugprobe 连接到目标板后,打开两个 Powershell 提示符。

在 OpenOCD 的一个提示符中,输入:

openocd.exe -f interface/cmsis-dap.cfg -c "adapter speed 5000" -f target/rp2040.cfg -s tcl

在 gdb 服务器的另一个提示符下输入:

arm-none-eabi-gdb (target file name).elf

将(目标文件名)替换为可执行文件的名称。

以下是成功执行屏幕的示例:

在 GDB 提示符下,您需要输入以下四个命令来将 ELF 文件刷入目标板。请参阅下面的图片和命令:

target remote localhost:3333

load

monitor reset init

continue

一旦固件上传到目标板完成后,关闭左侧的OpenOCD提示符以断开与GDB的连接。

点击 VS Code 左侧的“调试器”选项卡。然后点击播放按钮启动调试器。

您可以使用顶部的调试器控件开始调试,如下所示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值