Debugging - 使用 Debug 介面

材料准备

范例说明

使用 Arduino 2.0 IDE 中提供的除错功能来调试您的开发板。在此范例中,我们将使用 SEGGER 的除错器和 Arduino IDE 的 debug 介面。首先安装 SEGGER debug 软件。这个可以在SEGGER官网找到:https://www.segger.com/downloads/ jlink/

在除错之前,请确保代码已针对除错进行了优化。通过启用 Sketch -> Optimize for Debugging。

1

打开Debug范例,“File”-> “Examples”-> “Debugging”-> “ExampleDebug”。

1

IDE 中将打开两个文件; ExampleDebug.ino 和 debug_custom.json。
点击 debug_custom.json。在“serverArgs”下,插入Arduino15文件夹的目录路径,以及tools文件夹的当前版本号。

1

将 JLink 除错器和 AMB82 MINI 板连接到电脑。 JLink Debug Probe 与 AMB82 MINI 板之间的接线连接请参见下表。更多信息请参考这里< /a> 。

JLink Debug ProbeAMB82 MINI Board
VTref3.3V
GNDGND
SWDIOSWDIO
SWCLKSWCLK

1

1

AMB82 MINI 板有 4 个硬件中断点。可以在代码左侧设置硬件中断点,以第 42 行所示的红点表示。设置超过 4 个硬件中断点将导致除错失败。如果发生这种情况,您将需要停止除错并重置。

如果4个硬件中断点不够,可以使用软件中断点。任一指令(__BKPT() 或 __asm__(“BKPT”))可用于在程序执行中添加软件中断点。

1

上传代码,上传完成后按Ameba上的重置按钮。

上传完成后,重置开发板。选择Debug按钮开始除错。它位于upload按钮的右侧。 Arduino 将在与输出窗口相同的地方中打开 gdb-server 选项。有时可能需要长达 10 秒的时间才能完成设置。

1

以黄色标示的部分表示程序当前停止在哪一行代码。将出现除错控制台,显示除错信息。

1

要在中断点后继续运行代码,请使用红框中标记显示的任何single-stepping功能(continue, step over, step into, step out, restart, stop)。

1

请先确认已安装QQ通讯软体