Learning / implementation

RP2350 / Pico 2: Zephyr RTOS first build

RP2350 / Raspberry Pi Pico 2で最初のファームウェアを安全にビルドし、書き込み、起動、観測、復旧まで再現するための実装ガイドです。最初に確認するのは、MCU名ではなく実際のボード型番、搭載品種、回路図、給電方法、書き込み・デバッグ経路です。評価ボードで動くことと、独自基板や量産候補で同じ条件が成立することを分けて判断します。

対象RP2350 / Raspberry Pi Pico 2
用途Zephyr RTOS first build
Review2026-08-03

追加調査で押さえる実務ポイント

RP2350 / Raspberry Pi Pico 2で最初のファームウェアを安全にビルドし、書き込み、起動、観測、復旧まで再現するための実装ガイドです。最初に確認するのは、MCU名ではなく実際のボード型番、搭載品種、回路図、給電方法、書き込み・デバッグ経路です。評価ボードで動くことと、独自基板や量産候補で同じ条件が成立することを分けて判断します。

先に結論

Zephyr公式BoardページにPico 2が掲載されています。Arm Cortex-M33またはHazard3 RISC-Vの単一coreを選べますが、現行資料ではsecond core実行は未対応です。

ZephyrではMCU系列が対応していても、手元の基板に一致するboard target、Devicetree、pin control、flash runnerが用意されているとは限りません。最初はZephyr公式に登録されたボード、または回路図が公開された評価キットを使い、独自ボード対応はその後に分離します。

MCU、ボード、Zephyr targetを分ける

項目確認内容
MCURP2350 / Raspberry Pi Pico 2の正確な型番・package
評価ボードRaspberry Pi Pico 2 / Pico 2 W
Zephyr board targetwest boardsと公式Boardページで確認
architectureArm / RISC-V、core qualifierを確認
debuggeron-board debugger、SWD、WCH-Link等
consoleUART、USB CDC、RTTのいずれか
flashrunnerと接続方法
revision基板revisionとsilicon errata

最初はCortex-M33 targetとhello_worldを使い、RISC-Vやcustom overlayは後から追加します。

開発環境を固定する

west --version
cmake --version
python --version
west boards | grep -i -E "pico|samd|ch32"

実行前にZephyr workspaceを作成し、使用するZephyr releaseまたはcommit、Zephyr SDK版、host OSを記録します。期待結果は、対象board targetが一覧に現れ、toolchainを認識できることです。

最初のビルド

west build -b <board-target> samples/hello_world

<board-target>は推測で置かず、公式Boardページに記載された完全なtargetを使います。Pico 2ではarchitecture qualifierが必要な場合があります。成功時はbuild/zephyr/にELF、map、bin、hex、UF2など対象board用の成果物が生成されます。

書き込み

方法向く条件確認
USB bootloader / UF2Pico系などboot mode、生成UF2
on-board debuggerXplained、DK等runner、driver
外付けprobe独自基板voltage reference、pinout
vendor probeWCH-Link等tool版、interface

書き込み前に外付け回路を外し、target voltageとGNDを確認します。デバッガからの給電とUSB給電を同時に行う場合は回路図を確認してください。

起動と観測

期待する最小結果は次のいずれかです。

  1. Hello Worldがconsoleへ一度出る。
  2. 公式blinkyで指定LEDが一定周期で変化する。
  3. debuggerでmain()へ到達できる。

複数の観測方法を同時に追加せず、最初は一つだけにします。

失敗時の切り分け

症状優先確認
unknown boardZephyr版、target名
compile errorSDK、module、board qualifier
flash失敗runner、probe、boot mode
consoleなしUART/USB設定、baud、pin
起動直後reset電源、watchdog、clock
LED不一致board revision、active low、Devicetree

切り戻し

  1. 外付け回路を外す。
  2. bootloaderまたはdebuggerで既知のfirmwareへ戻す。
  3. pristine buildを行う。
  4. 公式sampleを無改変で再実行する。
  5. board target、overlay、Kconfigを一つずつ戻す。

安全上の注意

GPIO電圧、USB VBUS、debugger target voltageを混同しません。絶対最大定格は通常動作条件ではありません。配線変更は無通電で行い、静電気対策を取ります。

検証記録として残す項目

最初の成功だけでは、別PC、別個体、別担当者で再現できません。少なくとも次の項目を同じ記録へ残します。

項目記録内容
hardwareボード名、revision、MCU marking、serial
firmwarerepository、commit、release tag
buildcompiler、SDK、option、board target
programmingprobe、boot mode、runner、接続pin
power給電点、入力電圧、無負荷・動作時電流
observationUART、USB、LED、logic analyzer
result成功条件、失敗条件、再現回数
recovery戻したfirmwareと手順

成果物はsourceだけでなく、ELF、map、binary、configuration、console logを保存します。生成物だけを残すと、後から同じbinaryを作れません。

配線を追加する順序

  1. 電源とGNDだけを確認する。
  2. debuggerまたはbootloader経由で書き込む。
  3. consoleまたはLEDを確認する。
  4. GPIOを1本だけ追加する。
  5. I2C/SPI/UART deviceを1個追加する。
  6. interruptやDMAを追加する。
  7. sleep、USB、networkなど複雑な機能へ進む。

複数の外付け部品を同時に接続すると、電源、pin mux、software、配線のどれが原因か分からなくなります。

電源と測定

USB給電、外部5V、3.3V rail、debugger給電を同時に接続する前に回路図を確認します。電流計は電源へ直列に接続し、電流rangeのまま並列接続しません。logic analyzerやoscilloscopeのGND clipも回路GNDへ接続し、商用電源や非絶縁回路へ安易に接続しないでください。

受入基準

次のすべてを満たした時点で「first build成立」とします。

  • clean workspaceからbuildできる
  • 新しい個体へ書き込める
  • 電源再投入後も起動する
  • 観測結果が3回以上一致する
  • debuggerなしでも必要な動作をする
  • 書き込み失敗後に復旧できる
  • 使用したpinと電圧を説明できる
  • error logと回避策を保存した

次に進む判断

最小sampleが成立した後は、peripheralを増やす前に、最終製品で必要なmemory、電流、connector、update方法を一覧化します。評価ボード上の便利な回路へ依存している場合は、独自基板へ移す前にその依存を明示してください。

参考リンク

  • https://docs.zephyrproject.org/latest/boards/raspberrypi/rpi_pico2/doc/index.html - 公式仕様または公式対応資料。
  • https://www.raspberrypi.com/products/rp2350/ - 公式仕様または公式対応資料。
  • https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf - 公式仕様または公式対応資料。

Amazonの検索結果

購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。

次に読むとよい記事