Skip to main content

如何使用 Arduino 开发板作为 DAPLink 设备

Arm Mbed DAPLink 是一个开源软件项目,用于对运行在 Arm Cortex CPU 上的应用软件进行编程和调试。DAPLink 通常被称为接口固件,运行在连接到应用 MCU 的 SWD 或 JTAG 端口的辅助 MCU 上。这种配置在几乎所有开发板上都可用。它在您的开发计算机和 CPU 调试访问端口之间创建了一个桥梁。

请同时访问 DAPLink 获取更多信息。

现在,我们已经开发了运行在您的 Arduino 开发板SAMD 系列)上的 DAPLink 固件,如 Wio TerminalSeeeduino Xiao,这样您就可以以最经济有效的方式上传和调试支持 DAPLink 的开发板!

特性

  • 调试和烧录 Arm Cortex CPU
  • 提供虚拟串口,无需 USB 转串口
  • 拖拽上传固件(即将推出)

支持的开发板

它支持 Seeed 的所有 SAMD 开发板:

note

请确保您已安装了 最新的 Seeed ArduinoSAMD 开发板库(>=1.8.1) 以使其正常工作!

开始使用

  1. 访问 Seeed_Arduino_DAPLink 仓库,将整个仓库下载到您的本地驱动器。

  2. 现在,可以将 Seeed_Arduino_DAPLink 库安装到 Arduino IDE。打开 Arduino IDE,点击 sketch -> Include Library -> Add .ZIP Library,选择您刚刚下载的 Seeed_Arduino_DAPLink 文件。

InstallLibrary

2. 安装 Adafruit_TinyUSB_Arduino 库

  1. 访问 Adafruit_TinyUSB_Arduino 仓库,将整个仓库下载到您的本地驱动器。

  2. 现在,可以将 Adafruit_TinyUSB_Arduino 库安装到 Arduino IDE。打开 Arduino IDE,点击 sketch -> Include Library -> Add .ZIP Library,选择您刚刚下载的 Adafruit_TinyUSB_Arduino 文件。

自定义引脚定义

如果您使用的是 Wio TerminalSeeeduino Xiao,您可以跳过此部分,直接使用默认定义。

  • DAPLink 的引脚定义在 Seeed_Arduino_DAPLink/src 下的 DAP_config.h 中定义,参考以下内容:

上传到 Arduino 开发板

使用 Arduino IDE 打开 Seeed_Arduino_DAPLink/example 下的 simple_daplink.ino。在 Tools -> USB Stack 下选择 TinyUSB

编译并上传代码!

硬件连接示例

在本wiki中,我们使用了STM32F410RB开发板作为连接示例:

如果您已更改引脚定义,请根据您自己的定义进行连接。

  • Seeeduino Xiao 连接示例
  • Wio Terminal 连接示例

IDE调试和烧录示例

我们的Arduino开发板现在成为了用于MCU上传的DAPLink设备!让我们看一些不同IDE的示例供参考。

使用OpenOCD进行调试

  • 根据上述连接将Arduino DAPLink连接到目标开发板,并连接到您的PC。

  • 确保您已安装OpenOCD。

  • 打开终端并运行以下命令:

根据您的开发板更改为您的设备目标,您可以查看官方文档进行参考。

openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg
  • 在您的开发板项目构建路径下,运行gcc,看起来像下面这样:
  • 在gdb下,通过运行以下命令连接到本地主机:
target remote 127.0.0.1:3333
  • 现在开发板已连接,您可以开始调试或上传!

运行load上传到开发板:

GDB的一些有用命令:

  • continue/cont
  • ctrl+c
  • next
  • break
  • info break
  • clear
  • delete
  • list

使用Eclipse进行调试

对于Eclipse,它与OpenOCD非常相似,因为它可以使用OpenOCD作为后端。

  • 导航到Help -> Eclipse Marketplace,搜索并下载Eclipse Embedded CDT
  • 导航到Window -> Preference -> MCU -> Global OpenOCD Path并填入您的OpenOCD路径,如下所示:
  • 构建您的项目。在Run Last Tool下,点击External Tools Configurations
  • 复制以下设置,请更改为您的路径(以及您的目标板)。

如果一切顺利,应该看起来像这样:

  • Debug下,点击Debug Configurations,选择Debugger部分,并填入您的gcc路径:

现在一切就绪,可以开始调试了!

更多参考,请查看这里

使用Keil进行调试

  • 根据上述连接将Arduino DAPLink连接到目标开发板并连接到您的PC。

要在Keil中使用我们的Arduino DAPLink,请检查以下内容:

  • 用Keil打开您的项目,点击Options for target

您应该看到如下所示的窗口。确保设备与您的设备匹配。导航到Debug部分并选择CMSIS-DAP Debugger

  • 点击CMSIS-DAP Debugger旁边的settings
  • 选择Seeed CMSIS-DAP(我们的Arduino开发板),您应该看到它已连接。
  • 您可能还想导航到Flash Download部分以确保它是正确的设备,然后点击OK
  • 点击BuildFlash

使用IAR Embedded Workbench进行调试

  • 根据上述连接将Arduino DAPLink连接到目标开发板并连接到您的PC。

  • 打开您的项目,导航到Project -> Options。在Options菜单中,选择Debugger

  • Setup选项卡中,从Driver下拉菜单中选择CMSIS DAP
  • Download选项卡中,勾选Verify download和Use flash loader(s)
  • 从左侧菜单中选择CMSIS DAP,选择Interface选项卡并配置SWD协议。
  • 点击OK,然后您可以点击Download and Debug

串口使用

为了让使用更加便捷,我们还在 Arduino 代码中实现了 USB 转串口功能,这样您就无需额外的硬件!

  • 默认情况下,它被定义为 Serial1,这是硬件串口引脚。例如,对于 Seeeduino XIAO,它是引脚 6 和 7。
note

您可以在 Arduino 代码中定义自己的串口。

参考用法,请查看这里

资源

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...