DAP Linkを使用してArduinoブートローダーをフラッシュする
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
DAP Linkを使用してArduinoブートローダーをフラッシュする
これは、DAP Link(OpenOCD)を使用してArduinoブートローダーをArduinoボードにフラッシュする方法のWikiチュートリアルです。もしArduinoボードのブートローダーが中断された場合、このガイドを使用してブートローダーを再フラッシュすることができます。
準備
まず最初に、ArduinoボードをDAPLinkデバイスとして使用する方法を参照して、SAMDボードの1つをDAP-Linkデバイスに変換してください。一度設定を完了し、daplink Arduino inoプログラムをアップロードしたら、このWikiチュートリアルに戻ってください。
ターゲットハードウェアをDAP Linkデバイス(SAMDボード)と以下のピン構成に従って接続します。
- SWO > SWO
- CLK > CLK
- GND > GND
以下のように、Seeeduino XIAOがDAP Linkデバイスとして、Seeeduino Cortex M0+がターゲットとして接続される場合があります。

始めましょう
この例では、Seeeduino XIAOがDAPLinkデバイスとして機能し、Seeeduino Lotus Cortex M0+のArduinoブートローダーをフラッシュするために使用されます。
- ターミナルでArduinoボードライブラリパスのルート位置に移動し、そのパス内でOpenOCDのパスを見つけます。以下のように見えるかもしれません:
cd ~/Library/Arduino15/packages/arduino/tools/openocd/
cd 0.10.0-arduino7/bin # バージョンは異なる場合があります
- 特定のスクリプトを使用してOpenOCDを実行します:
注意: ansonhe
を自分のユーザー名に変更するか、正しいパスに調整する必要があります。
./openocd -s ../share/openocd/scripts/ -f /Users/ansonhe/Library/Arduino15/packages/Seeeduino/hardware/samd/1.7.9/variants/arduino_zero/openocd_scripts/arduino_zero.cfg
すべてが正常に動作すると、以下のような出力が表示されます:

これでサーバーが起動しました!
- 前のターミナルをそのままにして、新しいターミナルを開きます。同様にArduinoボードパスのルート位置に移動します。その後、arm-gccパスに移動します:
cd ~/Library/Arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin
- このパスの下で、以下を実行します:
./arm-none-eabi-gdb
- gdb内でターゲットに接続します:
target remote localhost:3333

- ArduinoボードライブラリのルートパスからArduinoブートローダーをロードします:
Seeed SAMDボード用のブートローダーはこちらでも見つけることができます:https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/bootloaders
注意: ansonhe
を自分のユーザー名に変更するか、正しいパスに調整する必要があります。
file /Users/ansonhe/Library/Arduino15/packages/Seeeduino/hardware/samd/1.7.9/bootloaders/zero/samd21_sam_ba.elf

- ターゲットにブートローダーをフラッシュします:
load

- リセットボタンを押してターゲットデバイスをリセットします。これでCOMポートが表示されるはずです。これで、Seeeduino XIAOをDAPLinkデバイスとして使用して、Seeeduino Lotus Cortex M0+にArduinoブートローダーがフラッシュされました!

技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。