# 開発環境構築・書き込みガイド 本ゼミでは、模擬衛星(CanSat)のソフトウェアをゼロから構築します。まずは開発環境を整え、プログラムを書き込める状態にしましょう。 ## 1. 開発環境の構築 本プロジェクトでは **VS Code** を推奨しています。基本的には、Raspberry Pi 公式の拡張機能をインストールするだけで、SDK やツールチェーンのセットアップが自動で行われます。 ### 推奨:VS Code と公式拡張機能 1. **VS Code** をインストールします。 2. 以下の拡張機能をインストールします。 - [Raspberry Pi Pico (Raspberry Pi)](https://marketplace.visualstudio.com/items?itemName=raspberry-pi.raspberry-pi-pico) 3. 拡張機能の案内に従って、Pico SDK や必要なビルドツールをインストールします。 4. `satelite` ディレクトリを VS Code で開くと、プロジェクトが自動的に認識されます。 ### 公式ガイド より詳細な情報や、OS ごとの個別設定については、公式ガイド「[Getting started with Raspberry Pi Pico-series](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf)」を参照してください。 --- ## 2. プログラムの書き込み方法 プログラムの書き込みには、以下の 2 通りの方法があります。手軽に動作確認を行いたい場合は **A**、頻繁にビルドとデバッグを繰り返す開発フェーズでは **B** が推奨されます。 --- ### A. UF2 による書き込み(シンプル・手軽) 特別なデバッガ機器を使わず、Micro USB ケーブルのみで直接プログラムを書き込む最もシンプルな方法です。 1. **BOOTSEL ボタンを長押し** しながら、PC と MAIN基板上の Pico W を USB ケーブルで接続します。 2. PC 上で `RPI-RP2` という名前の USB マスストレージドライブとして認識されます(ボタンから手を離して構いません)。 3. ビルドによって生成された `.uf2` ファイルを、その `RPI-RP2` ドライブへドラッグ&ドロップ(またはコピー)します。 4. コピーが完了すると自動的にドライブがアンマウントされ、Pico W が再起動してプログラムが実行されます。 --- ### B. SWD 端子による書き込みとデバッグ(推奨:高速・効率的) 基板上に露出している **SWD (Debug) 端子** と、**もう一台の別の Raspberry Pi Pico(以下、Debug Pico)** をデバッガとして使用し、プログラムの書き込みおよびステップ実行等のデバッグを行います。 > [!NOTE] > 本ゼミでは、市販の Raspberry Pi Debug Probe を購入する代わりに、安価な標準の Raspberry Pi Pico にデバッガ用ファームウェアを書き込んでデバッガ(Debug Pico)として使用します。 --- #### 1. Debug Pico(デバッガ)の準備 もう一台のデバッグ用 Pico をデバッガとして動作させるため、以下の手順で専用ファームウェアを書き込みます。 1. **ファームウェアのダウンロード**: - [Raspberry Pi Debug Probe 公式リポジトリ (GitHub) の Releases ページ](https://github.com/raspberrypi/debugprobe/releases) から、Pico用のバイナリである **`debugprobe_on_pico.uf2`** をダウンロードします。 2. **ファームウェアの書き込み**: - **Debug Pico の BOOTSEL ボタンを長押ししながら**、PC と USB ケーブルで接続します。 - PC 上にマウントされた `RPI-RP2` ドライブのルートディレクトリに、ダウンロードした `debugprobe_on_pico.uf2` をドラッグ&ドロップします。 - コピー完了後、Debug Pico が再起動し、CMSIS-DAPデバッガとして認識されるようになります。 --- #### 2. Debug Pico と MAIN基板(Debug1コネクタ)の接続ピンアサイン MAIN基板のデバッグ・通信ポートは **`Debug1`(1x6 ピンヘッダ)** として配置されており、Debug Pico とジャンパ線を用いて接続します。 ##### 接続配線対応表 | MAIN基板 `Debug1` ピン | 信号名 | Debug Pico の接続ピン | 説明 | | :---: | :---: | :--- | :--- | | **1** | `VBAT` | `VBUS` (40番ピン) または `VSYS` (39番ピン) | Debug Pico から MAIN 基板へ電源を供給する場合に接続します。
**⚠️警告: 電池を使用する場合は絶対に接続しないでください!** | | **2** | `GND` | `GND` (任意のGNDピン。例: 3, 8, 38番ピンなど) | グランド(電位の基準)を共通にします(接続必須)。 | | **3** | `TX` | **`GP5`** (7番ピン / UART RX) | OBCからのシリアルログ出力を Debug Pico で受信します。 | | **4** | `RX` | **`GP4`** (6番ピン / UART TX) | Debug Pico から OBC への入力を送信します。 | | **5** | `SWDIO` | **`GP3`** (5番ピン / SWDIO) | SWD デバッグデータ線(双方向データ通信)。 | | **6** | `SWCLK` | **`GP2`** (4番ピン / SWCLK) | SWD デバッグクロック線(デバッグ同期用クロック)。 | > [!WARNING] > - 必ず両方の機器の電源を切った状態で配線を行ってください。 > - 電池などの外部電源から MAIN 基板に電力を供給する場合は、**1番ピン (`VBAT`) と Debug Pico の `VBUS`/`VSYS` を絶対に接続しないでください**。電源の衝突により、Pico や PC が破損する恐れがあります。 --- #### 3. デバッグ実行の手順 1. 上記の接続配線表に従い、Debug Pico と MAIN 基板の `Debug1` コネクタを接続します。 2. PC と Debug Pico を Micro USB ケーブルで接続します。 3. MAIN 基板に電源を供給します(バッテリーを接続するか、電池を使用しない場合は `VBAT` に VBUS 等から給電します)。 4. VS Code で `satelite` ディレクトリを開きます。 5. **F5 キー** を押すと、プログラムのビルド、Debug Pico 経由での書き込み、およびデバッガ(GDB)によるデバッグ実行が自動で開始されます。 - デバッグ中は、VS Code 上でコードにブレークポイントを設定したり、変数の値をリアルタイムに監視したりできます。