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 板之間的接線連接請參見下表。 更多信息請參考這裡

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通訊軟體