ラズベリーピコ:1つのデバイスでシンプルなデバッグ
25661 ワード
ラズベリーピコは2021年2月に発売された新しいマイクロコントローラである.コミュニティはこの新しいボードについて興奮しました、そして、何人かの人々は驚くべきプロジェクトを始めました.私は初期の2つのボードをつかんで、まだ私のArduinoベースのロボットに取り組んでいる間、通常の点滅LEDとポテンショメータのチュートリアルを行いました.簡単にするために、私はマイクロPython SDKを使いました.それは数分でセットアップです、単純なスケッチは簡単です、そして、あなたはPicoに接続して、プログラムを実行することができます.
あなたがC SDKを使用するならば、あなたは多くをする必要があります:構築ツール、cmake、SDKをダウンロードして、SDKパスを定義してください、そして、あなたのプロジェクトのためにCMakeファイルを加えて、すべての必要な図書館その他を加えてください、そして、あなたが到着する快適さレベルはOKです-あなたは、まだUFO 2ファイルをピコにアップロードする必要があります.
より良い、より簡単ですか?はい!偉大さのおかげでwizio-pico プロジェクト、VSコードの統合は、あなたのピコに直接アップロードを含む達成することができます.そして、あなたが考えるときpico-debug project , また、プログラムの完全デバッグ機能を統合できます.
このブログポットは、ピコセットアップシリーズを続けて、どのようにセットアップを完全に動作するデバッガVS Studioコードで詳細になります.最終的にステップが説明に基づいていることを心に留めておいてくださいpico-debug project , and wizio-pico , しかし、セットアップは複雑ですので、ブログ記事の要約を書きました.に沿って従ってください、あなたは簡単な起動ボタンを押すだけでピコCプログラムをデバッグされます.
この記事はもとでmy blog .
完全に統合されたデバッグソリューションに到達する前に、重いリフティングを行うツールを理解することが重要です.
The JTAG standard 集積回路をデバッグする方法について説明します.標準は、回路上のレジスタおよびバスシステムがどのようにアクセスされることができるかについて通信プロトコルを定義する.そして、回路にアクセスするために、電気インターフェース(例えばシリアルポート)も記載する.専用ポートを使用する代わりに、SWD ( Serial Wire Debug )プロトコルはデバッグ用のARMチップとのインタフェースにちょうど2つのピンを使用することができます.この規格は道具で使われるOpenOCD , これはオンチップデバッガの頭字語です.これは、統合された回路にデバッグセッションを確立するJTAG標準を使用します.最後にGNU Project Debugger GDB アプリケーションをデバッグするためのオープンソースのワークホースです.GDBはデバッグを開始するためにOpenocdセッションに接続できます.GDB自体は最終的にCLIアプリケーションです.プログラムをロードするために専用の言語を提供し、ブレークポイントと変数を設定します.現代のIDEは、GDBとのインターフェイスと強力な、視覚的なデバッグ体験を提供します.
これらのツールを使用するには、ARMコード、GDB、OpenOCDを生成するコンパイラを設定する必要があります.始めましょう!
ARMコードを生成できるクロスコンパイラをインストールする必要があります
フォローpico-debug project 説明、我々はラズベリーピコをサポートするOCDの特別なバージョンをインストールします.
まずは普通のLinuxパッケージをインストールします.
ツールチェーンをインストールしてテストすると、ピコ自体を準備し続けることができます.再び、2つのタスクを行う必要があります. PIOは、それがデバッグ装置として使うことができるように、特別なUF 2イメージでブートされる必要があります ターゲットプログラムは、特別なデバッグコンパイラフラグでコンパイルする必要があります
まず、最新のUF 2イメージをhttps://github.com/majbthrd/pico-debug/releases , それから、ファイルをあなたの大容量記憶装置モードにピコマウントしてください.それはCMSIS - DAPデバイスとしてあなたのラズベリーピコを起動します.この頭字語は、Oracle MicroController Software Interface Standardのための略です-デバッグ・アクセス・ポート、それはプロトコル仕様と具体的なファームウェアです.技術的には、Picosのシリアル・ワイヤ・デバッグ・インタフェースをラップし、USB経由でデバッグ・アクセス・ポート(DAP)をエミュレートする.この標準化されたインターフェースはデバッガを実行している接続されたホストコンピュータによって使用されることができます.
画像が正しく処理されているかどうかを確認します.実行時
私が記事を書き始めたとき、私はあなたがプラットフォームの小さなスイッチを作る必要があることを望みました.INIファイル、コンパイルし、デバッグ可能なバージョンのプログラムを持っています.しかし、これはまだそうではありません.デバッグ用の1つのピコを使用する場合は、プログラムをコンパイルするための特別なSDKを使用する必要があります.このSDKは、デバッグに干渉していないUSBシステムの初期化に関するいくつかの問題を修正します.あなたの詳細を読むことができますgithub thread .
より良い解決が可能になるまで、特別なcmakeのコンパイルファイルを追加する必要があります.
最終的なディレクトリレイアウトを取得します.
ディレクトリを作る イン イン
イン
環境変数を設定する
に移動
に
ツールチェーンをインストールしました.ピコを用意しました.さて、デバッグプロセスを開始できます.この節では、CLIツールを直接使用します.次の節では、これらのツールをVisual Studioコードに統合します.
OpenOCDを通常のユーザーとして実行するには、Openocd起動ファイルを作成し、通常のユーザを特別なグループに追加する必要があります.これらのステップのリファレンスはこれですstackexchange post .
ファイルを作る
今すぐ手動でOpenocdサーバーを起動します.同じディレクトリで、このコマンドを実行します.
二つ 二つ この出力を見るべきです.
vscode拡張モジュールのインストール
そして、現在最終的な瞬間が来ます.VSコードで
IDEのすべての快適さで、デバッグすることができます.
このブログのポストは、いくつかの側面で長くなりました:それを書く時、すべてのオプションをテストする時間、そしてこの記事の長さ.すべてのセットアップを行うと、統合されたIDEであなたのピコプログラムを書くことができます、コードの強調表示のすべての快適さ、ライブラリ機能をブラウズ、およびリファクタリングオプションがあります.また、ワンクリックでアップロード機能を使用すると、ほぼArduinoと同じようにプログラムすることができます.そして、その上に、プログラムのデバッグバージョンをコンパイルし、Visual Studioコードの中からデバッガを実行できます.これはあなたの開発効果を大いに高めるべきです.
あなたが将来のプロジェクトから始めるのを援助するために、私をチェックしてくださいpico-project-setup repo on Github .
あなたがC SDKを使用するならば、あなたは多くをする必要があります:構築ツール、cmake、SDKをダウンロードして、SDKパスを定義してください、そして、あなたのプロジェクトのためにCMakeファイルを加えて、すべての必要な図書館その他を加えてください、そして、あなたが到着する快適さレベルはOKです-あなたは、まだUFO 2ファイルをピコにアップロードする必要があります.
より良い、より簡単ですか?はい!偉大さのおかげでwizio-pico プロジェクト、VSコードの統合は、あなたのピコに直接アップロードを含む達成することができます.そして、あなたが考えるときpico-debug project , また、プログラムの完全デバッグ機能を統合できます.
このブログポットは、ピコセットアップシリーズを続けて、どのようにセットアップを完全に動作するデバッガVS Studioコードで詳細になります.最終的にステップが説明に基づいていることを心に留めておいてくださいpico-debug project , and wizio-pico , しかし、セットアップは複雑ですので、ブログ記事の要約を書きました.に沿って従ってください、あなたは簡単な起動ボタンを押すだけでピコCプログラムをデバッグされます.
この記事はもとでmy blog .
ツール概要
完全に統合されたデバッグソリューションに到達する前に、重いリフティングを行うツールを理解することが重要です.
The JTAG standard 集積回路をデバッグする方法について説明します.標準は、回路上のレジスタおよびバスシステムがどのようにアクセスされることができるかについて通信プロトコルを定義する.そして、回路にアクセスするために、電気インターフェース(例えばシリアルポート)も記載する.専用ポートを使用する代わりに、SWD ( Serial Wire Debug )プロトコルはデバッグ用のARMチップとのインタフェースにちょうど2つのピンを使用することができます.この規格は道具で使われるOpenOCD , これはオンチップデバッガの頭字語です.これは、統合された回路にデバッグセッションを確立するJTAG標準を使用します.最後にGNU Project Debugger GDB アプリケーションをデバッグするためのオープンソースのワークホースです.GDBはデバッグを開始するためにOpenocdセッションに接続できます.GDB自体は最終的にCLIアプリケーションです.プログラムをロードするために専用の言語を提供し、ブレークポイントと変数を設定します.現代のIDEは、GDBとのインターフェイスと強力な、視覚的なデバッグ体験を提供します.
これらのツールを使用するには、ARMコード、GDB、OpenOCDを生成するコンパイラを設定する必要があります.始めましょう!
コンパイラとGDB
ARMコードを生成できるクロスコンパイラをインストールする必要があります
gcc-arm-none-eabi
. 次のコマンドを実行し、このコンパイラとその他の必要なツールをインストールします.$> sudo apt update
$> sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
これらのツールが正しくインストールされていることをテストします.$> arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
Target: arm-none-eabi
gdbをインストールするには、次の手順に従いますapt install gdb-multiarch
また、正しくインストールされていることをテストします.$> db-multiarch -v
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
Openocd
フォローpico-debug project 説明、我々はラズベリーピコをサポートするOCDの特別なバージョンをインストールします.
まずは普通のLinuxパッケージをインストールします.
$> sudo apt install automake autoconf texinfo libtool libhidapi-dev libusb-1.0-0-dev
...それから、我々はカスタムOCDバージョンをコンパイルして、作るために、Git倉庫をクローン化します.$> git clone https://github.com/majbthrd/openocd.git --recursive --branch rp2040_cmsisdap_demo --depth=1
$ cd openocd
$ ./bootstrap
$ ./configure --enable-cmsis-dap
$ make -j4
$ sudo make install
もう一度、インストールが成功したことをテストします.$> openocd -h
Open On-Chip Debugger 0.10.0+dev-gb4af1af-dirty (2021-03-21-10:40)
Licensed under GNU GPL v2
ピコの準備
ツールチェーンをインストールしてテストすると、ピコ自体を準備し続けることができます.再び、2つのタスクを行う必要があります.
デバッグUF 2イメージをインストールします
まず、最新のUF 2イメージをhttps://github.com/majbthrd/pico-debug/releases , それから、ファイルをあなたの大容量記憶装置モードにピコマウントしてください.それはCMSIS - DAPデバイスとしてあなたのラズベリーピコを起動します.この頭字語は、Oracle MicroController Software Interface Standardのための略です-デバッグ・アクセス・ポート、それはプロトコル仕様と具体的なファームウェアです.技術的には、Picosのシリアル・ワイヤ・デバッグ・インタフェースをラップし、USB経由でデバッグ・アクセス・ポート(DAP)をエミュレートする.この標準化されたインターフェースはデバッガを実行している接続されたホストコンピュータによって使用されることができます.
画像が正しく処理されているかどうかを確認します.実行時
dmesg
, 次の出力が表示されます.[50852.541543] usb 1-2: new full-speed USB device number 70 using xhci_hcd
[50852.690691] usb 1-2: New USB device found, idVendor=1209, idProduct=2488, bcdDevice=10.02
[50852.690696] usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[50852.690698] usb 1-2: Product: CMSIS-DAP
ピコが出来上がる.さて、デバッグ用にプログラムをコンパイルします.ターゲットプログラムのコンパイル
私が記事を書き始めたとき、私はあなたがプラットフォームの小さなスイッチを作る必要があることを望みました.INIファイル、コンパイルし、デバッグ可能なバージョンのプログラムを持っています.しかし、これはまだそうではありません.デバッグ用の1つのピコを使用する場合は、プログラムをコンパイルするための特別なSDKを使用する必要があります.このSDKは、デバッグに干渉していないUSBシステムの初期化に関するいくつかの問題を修正します.あなたの詳細を読むことができますgithub thread .
より良い解決が可能になるまで、特別なcmakeのコンパイルファイルを追加する必要があります.
最終的なディレクトリレイアウトを取得します.
.
├── debug
│ ├── build
│ ├── CMakeLists.txt
│ ├── pico-debug.uf2
│ ├── pico_sdk_import.cmake
│ └── src -> /home/work/development/pico2/src/
├── include
│ ├── pico
│ │ └── config_autogen.h
│ └── README
├── lib
│ └── README
├── LICENSE.txt
├── platformio.ini
├── README.md
├── src
│ ├── CMakeLists.txt
│ └── main.c
└── test
└── README
具体的な手順はbuild
and debug
debug
, 特殊なUF 2ファイルをコピーし、src
ディレクトリdebug
, これを置くCMakeLists.txt
ファイルを入れる.cmake_minimum_required(VERSION 3.12)
# Pull in SDK (must be before project)
include(pico_sdk_import.cmake)
project(pico_examples C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(PICO_EXAMPLES_PATH ${pwd})
# Initialize the SDK
pico_sdk_init()
add_subdirectory(src)
src/
フォルダを追加CMakeLists.txt
ファイル.add_executable(main
main.c
)
# Pull in our pico_stdlib which pulls in commonly used features
target_link_libraries(main pico_stdlib)
# create map/bin/hex file etc.
pico_add_extra_outputs(main)
これでプログラムをコンパイルできます.PICO_SDK_PATH
特殊SDKを示すexport PICO_SDK_PATH=/home/work/development/pico-debug-sdk/
debug/build
次のコマンドを実行します.cmake -DCMAKE_BUILD_TYPE=Debug -g0 ..
コンパイルプロセスは次のように出力を開始し、表示します.Using PICO_SDK_PATH from environment ('/home/work/development/pico-debug-sdk/')
PICO_SDK_PATH is /home/work/development/pico-debug-sdk
Defaulting PICO_PLATFORM to rp2040 since not specified.
Defaulting PICO platform compiler to pico_arm_gcc since not specified.
PICO compiler is pico_arm_gcc
PICO_GCC_TRIPLE defaulted to arm-none-eabi
-- The C compiler identification is GNU 9.2.1
-- The CXX compiler identification is GNU 9.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-none-eabi-gcc
Using regular optimized debug build (set PICO_DEOPTIMIZED_DEBUG=1 to de-optimize)
Defaulting PICO target board to pico since not specified.
Using board configuration from /home/work/development/pico-debug-sdk/src/boards/include/boards/pico.h
-- Found Python3: /usr/bin/python3.8 (found version "3.8.5") found components: Interpreter
TinyUSB available at /home/work/development/pico-debug-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; adding USB support.
Compiling TinyUSB with CFG_TUSB_DEBUG=1
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen dot
ELF2UF2 will need to be built
-- Configuring done
-- Generating done
-- Build files have been written to: /home/work/development/pico2/debug/build
build
フォルダが表示されますsrc
- このディレクトリに変更して実行するmake
cd src/
make
この出力を見るべきです.Scanning dependencies of target ELF2UF2Build
[ 1%] Creating directories for 'ELF2UF2Build'
[ 3%] No download step for 'ELF2UF2Build'
[ 5%] No patch step for 'ELF2UF2Build'
[ 6%] No update step for 'ELF2UF2Build'
[ 8%] Performing configure step for 'ELF2UF2Build'
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
...
-- Build files have been written to: /home/work/development/pico2/debug/build/elf2uf2
[ 10%] Performing build step for 'ELF2UF2Build'
Scanning dependencies of target elf2uf2
[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[100%] Linking CXX executable elf2uf2
[100%] Built target elf2uf2
[ 11%] No install step for 'ELF2UF2Build'
[ 13%] Completed 'ELF2UF2Build'
[ 13%] Built target ELF2UF2Build
Scanning dependencies of target bs2_default
[ 15%] Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/boot2_w25q080.S.obj
[ 16%] Linking ASM executable bs2_default.elf
...
[100%] Linking CXX executable main.elf
[100%] Built target main
完了!これで、1つだけ接続ピコで実行できるプログラムのデバッグ可能なバージョンがあります.CLIのデバッグ
ツールチェーンをインストールしました.ピコを用意しました.さて、デバッグプロセスを開始できます.この節では、CLIツールを直接使用します.次の節では、これらのツールをVisual Studioコードに統合します.
openocd :通常ユーザとしての実行
OpenOCDを通常のユーザーとして実行するには、Openocd起動ファイルを作成し、通常のユーザを特別なグループに追加する必要があります.これらのステップのリファレンスはこれですstackexchange post .
ファイルを作る
/etc/udev/rules.d/98-openocd.rules
このコンテンツを追加します.ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
ATTRS{product}=="*CMSIS-DAP*", MODE="664" GROUP="plugdev"
LABEL="openocd_rules_end"
次に、新しいLinuxグループを作成し、そのグループに個人ユーザーを追加します.$> sudo groupadd plugedev
$> sudo gpasswd -a devcon plugdev
$> sudo udevadm control --reload
前と同様に、テストします.ユーザが新しく作成したグループのメンバーであることを確認します$> groups
devcon adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare
openocdを起動する
今すぐ手動でOpenocdサーバーを起動します.同じディレクトリで、このコマンドを実行します.
$> cd openocd/tcl
$> openocd -f interface/cmsis-dap.cfg -f target/rp2040-core0.cfg -c "transport select swd" -c "adapter speed 4000"
あなたがこのコマンドが意味することについて私と同じくらい好奇心があるならば-f
フラグは設定ファイルのロードを示します.ここでは、デバッグアクセスポート( DAP )の設定とPIOボードの設定をロードします( RP 2040 )-c
フラグは実行される追加のコマンドを示します、私たちはシリアル・ワイヤ・デバッグを通して接続して、ホストとピコの間でkHzで接続速度をセットします.Open On-Chip Debugger 0.10.0+dev-gb4af1af-dirty (2021-03-21-10:40)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
swd
adapter speed: 4000 kHz
Info : Hardware thread awareness created
Info : RP2040 Flash Bank Command
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialized (SWD)
Info : SWCLK/TCK = 0 SWDIO/TMS = 0 TDI = 0 TDO = 0 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 4000 kHz
Info : SWD DPIDR 0x0bc12477
Info : SWD DLPIDR 0x00000001
Info : rp2040.core0: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for rp2040.core0 on 3333
Info : Listening on port 3333 for gdb connections
番目のターミナルウィンドウを開き、Picoプロジェクトをコンパイルしたディレクトリに移動します.GDBセッションを開始します.$> cd debug/build/src
$> gdb-multiarch main.elf
この出力を見るべきです.gdb-multiarch main.elf
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from src/main.elf...
GDBセッションを開くと、デバッグを実行するコマンドを実行できます.GDBは精巧な言語を持っています、我々は単純なコンソールベースのデバッグセッションをドライブする主なコマンドに集中します.(gdb) target remote localhost:3333
Remote debugging using localhost:3333
main () at /home/work/development/pico2/debug/src/main.c:37
37 int main() {
(gdb) load
Loading section .boot2, size 0x100 lma 0x10000000
Loading section .text, size 0x4b10 lma 0x10000100
Loading section .rodata, size 0xd84 lma 0x10004c10
Loading section .binary_info, size 0x20 lma 0x10005994
Loading section .data, size 0xa04 lma 0x100059b4
Start address 0x100001e8, load size 25528
Transfer rate: 8 KB/sec, 4254 bytes/write.
(gdb) monitor reset init
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x000000ee msp: 0x20041f00
(gdb) b main
Breakpoint 1 at 0x100003d8: file /home/work/development/pico2/debug/src/main.c, line 37.
(gdb) c
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.
Breakpoint 1, main () at /home/work/development/pico2/debug/src/main.c:37
37 int main() {
(gdb) n
38 setup();
(gdb) n
40 printf("Hello World\n");
(gdb) n
43 printf(".");
(gdb) n
44 blink();
(gdb) n
42 while (true) {
(gdb) p LED_GREEN
$1 = 15
(gdb)
あなたがこれまで来たならば、それはあなたのIDEでデバッグをセットアップするためにより少しのステップだけです.vscode拡張モジュールのインストール
C/C++ Extension Pack (by Microsoft)
Cortex-Debug (by marus25)
CMake Tools (by Microsoft)
ファイルを作る.vscode/launch.json
, このコンテンツを入力します.{
"version": "0.2.0",
"configurations": [
{
"name": "Pico Debug",
"device": "RP2040",
"gdbPath": "gdb-multiarch",
"cwd": "${workspaceRoot}",
"executable": "${workspaceRoot}/debug/build/src/main.elf",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"configFiles": ["interface/cmsis-dap.cfg", "target/rp2040-core0.cfg"],
"openOCDLaunchCommands": ["transport select swd", "adapter speed 4000"],
"svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd",
"searchDir": ["/home/work/development/openocd/tcl"],
"runToMain": true,
"postRestartCommands": ["break main", "continue"]
}
]
}
変更すべき重要なことは、executable
: デバッグ可能なコンパイル済みファイルを指す必要がありますsvdFile
: SVDはマイクロコントローラの詳細を含んでいるファイル形式です.このファイルはOpenocdによってレジスタなどのハードウェア関連のデバッグ情報を提供するために使用されます.serachDir
: これをOpenocdインストールTcl PATHに設定しますRun/Start Debugging
, 数秒後、次のウィンドウが表示されます.
IDEのすべての快適さで、デバッグすることができます.
結論
このブログのポストは、いくつかの側面で長くなりました:それを書く時、すべてのオプションをテストする時間、そしてこの記事の長さ.すべてのセットアップを行うと、統合されたIDEであなたのピコプログラムを書くことができます、コードの強調表示のすべての快適さ、ライブラリ機能をブラウズ、およびリファクタリングオプションがあります.また、ワンクリックでアップロード機能を使用すると、ほぼArduinoと同じようにプログラムすることができます.そして、その上に、プログラムのデバッグバージョンをコンパイルし、Visual Studioコードの中からデバッガを実行できます.これはあなたの開発効果を大いに高めるべきです.
あなたが将来のプロジェクトから始めるのを援助するために、私をチェックしてくださいpico-project-setup repo on Github .
Reference
この問題について(ラズベリーピコ:1つのデバイスでシンプルなデバッグ), 我々は、より多くの情報をここで見つけました https://dev.to/admantium/raspberry-pico-simple-debugging-with-just-one-device-4ce7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol