如何调试 Arduino® UNO R4 Minima

发布时间 2023-11-12 21:54:12作者: Slickzz

本篇博客软件配置参考Debugging the Arduino UNO R4 Minima | Arduino Documentation

需要的工具

硬件

  1. J-Link仿真器

image.png

  1. 1.27mm 排线转 2.54mm 排线

66c112188975e8d7fc2370fef85826a.jpg

母对母 正向

  1. 公对母杜邦线 4 根

软件

  1. Ozone
  2. Arduino IDE

硬件连线

排线连接开发板

1.27mm 排线如图插入开发板

注意:排线电缆的红色侧应与 SWD 焊盘上的 VCC 引脚位于同一侧。

15de577325532f375900f6e5d8942be.jpg

JTAG接口的SWD接线方式
由于是10 Pin 的排线,故此 2.54mm 排线连接 J-Link 需要通过杜邦线转接。
在 2.54mm 插口定义如下:

image.png
需要连接的是 VCC、GND、SWDIO 和 SWCLK 四个引脚:
image.png

杜邦线 2.54mm 排线
VCC
GND
SWDIO
棕(图片上用白框框住) SWCLK

J-Link 仿真器接口定义如下:

image.png

对照上表,杜邦线连接对应接口即可。

image.png

开发板供电,J-Link仿真器连接到电脑上。

软件配置

Arduino

请安装 Arduino IDE 并连接您的 UNO R4 Minima。使用 Arduino IDE 将 sketch 上传到 Arduino 板时,它将构建一个 .ELF 文件。在接下来的步骤中,开发者将需要此文件在 Ozone 中进行调试。要轻松找到 .ELF 文件,我们可以在 Arduino IDE 中启用 show verbose 输出选项。为此,请在 Arduino IDE 中的“文件”>“首选项”下打开首选项。ide_preferences.png
打开首选项窗口后,查找 Show verbose output during : compilation 选项,并确保选中该复选框。ide_verbose.png
现在,开发者已准备好上传要调试的脚本。如果没有要测试的 sketch ,则可以使用 IDE 中找到的任何示例 sketch 。
当开发者使用 Arduino IDE 上传 sketch 时,我们需要知道 .ELF 文件的保存位置。在Arduino IDE 中构建项目并突出显示输出目录。例如,它应该看起来像C:\Users\profile\AppData\Local\Temp\arduino_build_815037 记下路径,以便在下一步中更轻松地访问。

Segger® Ozone

下载并安装 Ozone 调试器
启动 Ozone 时,请确保在设置框中输入正确的 CPU。UNO R4 Minima 使用 R7FA4M1ABozone_select_core.png
继续执行下一步。在这里,开发者需要将目标接口更改为SWD。然后在仿真器列表中选择您的 J-Link 设备并前往下一页。ozone_select_debugger.png
现在,开发者进入选择要调试的程序的窗口,这是开发者使用之前提到的临时输出路径加载项目文件的地方。导航到正确的目录,然后选择 .ELF 文件。ozone_elf_location.png
在“可选设置”对话框中,将“初始 PC”和“初始堆栈指针”两个选项都设置为“不设置”,因为它会跳过 Arduino 引导加载程序,否则这可能会阻止草图正常运行。
ozone_optional_settings.png
设置完成后,Ozone将打开包含main功能的文件。您会注意到,这不是您编写的 .ino sketch ,因为这是由 IDE 生成的抽象层。要打开我们的 .ino sketch,我们需要转到顶部工具栏中的查找>查找源文件
ozone_find-tab.png
在出现的小窗口中,键入“.ino”。您现在应该能够看到该文件,选择该文件并在 Ozone 中打开它。ozone_find_window.png

设置断点

如上所述,断点是代码中特定点的有意停止或暂停位置。您可以通过单击 sketch 旁边的侧边栏来添加它们,您应该会看到一个红点出现。您现在已经设置了一个断点。

现在,您可以开始调试了。只需转到调试>下载和重置程序即可开始调试 sketch。ozone_debug_session.png
您将看到代码是如何执行的,以及如何在设置断点的行处停止。您可以根据需要设置任意数量的断点,具体取决于要停止代码的位置。有关 Ozone 调试器中现有功能的更多信息,请转到此处。

结论

在本教程中,您学习了如何使用 SWD 引脚将 UNO R4 Minima 板连接到 J-Link 设备,并将其与 Ozone 调试器一起使用。我们还介绍了如何使用Arduino IDE创建可以在Ozone中调试的文件。最终如何使用 Ozone 调试器来调试 Arduino sketch。