Copyright 2021-2024 Moddable Tech, Inc.
改訂: 2024年9月24日
このドキュメントは、Raspberry Pi Pico用のModdableアプリケーションの構築を開始する方法を説明します。ホストビルド環境の設定方法、アプリのビルドおよびデプロイ方法に関する情報を提供し、外部開発リソースへのリンクを含みます。
注: Pico への移植は安定していて、ほぼ完了しています。来的な作業には以下が含まれる可能性があります:
- Mods
- JavaScript Atomics
- セカンドコアを利用する Web Workers
- PIO 統合
- Windows でのビルド
詳細については、Raspberry Pi Picoのドキュメントを参照してください。
アプリケーションをビルドする前に、以下を行う必要があります:
- Moddable SDKをインストールし、そのツールをビルドする
- Raspberry Pi Picoプラットフォーム用の必要な開発ツールをインストールする
以下の手順では、コマンドラインツールmcconfig
を使用してデバイス上でhelloworld
の例を実行することで、セットアップを確認します。
mcconfig
に関する詳細は、ツールのドキュメントを参照してください
mcconfig
を使用してビルドする際には、開発ボードのプラットフォーム識別子を-p
引数に指定してデバイスターゲットを指定します。例えば、Pico Display用にビルドするには、次のコマンドを使用します:
mcconfig -d -m -p pico/pico_display
利用可能なPicoサブプラットフォームとそのプラットフォーム識別子のリストは、以下のプラットフォームセクションに記載されています。
Raspberry Pi Picoには以下の機能があります:
- 最大133 MHzで動作するRP2040マイクロコントローラー
- デュアルコアARM Cortex M0+
- 264 KB RAM
- 2 MBフラッシュ
Moddable SDKはPicoで構築されたデバイスをサポートしています。以下の表は、各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Rasberry Pi Pico |
pico |
LED、26外部ピン | |
Rasberry Pi Pico W |
pico/pico_w |
Wi-Fi、LED、26外部ピン | |
Pimoroni Pico Display |
pico/pico_display simulator/pico_display |
1.4" IPSディスプレイ 135 x 240 16ビットカラー 4ボタン RGB LED |
|
Pimoroni Pico Display 2 |
pico/pico_display_2 simulator/pico_display_2 |
2.0" IPSディスプレイ 320 x 240 16ビットカラー 4ボタン RGB LED |
|
Waveshare Pico LCD 1.3 |
pico/pico_lcd_1.3 |
1.3" IPSディスプレイ 240 x 240 16ビットカラー 4ボタン 1ジョイスティック |
|
Adafruit ItsyBitsy RP2040 |
pico/itsybitsy |
Neopixel、1ボタン | |
LILYGO T-Display RP240 |
pico/lilygo_t_display |
1.14" ST7789、2ボタン、赤LED | |
Pimoroni PicoSystem |
pico/picosystem |
1.54" IPS LCD、240 x 240、Dパッド & 4ボタン、RGB LED | |
Sparkfun Pro Micro RP2040 |
pico/pro_micro |
Qwiic/STEMMAコネクタ、Neopixel | |
Adafruit QT Py |
pico/qtpy |
STEMMA/Qwiicコネクタ、Neopixel、1ボタン | |
Adafruit Trinkey QT2040 |
pico/qt_trinkey |
STEMMA/Qwiicコネクタ、Neopixel、1ボタン | |
Pimoroni Tiny 2040 |
pico/tiny2040 |
RGB LED、1ボタン | |
WAVESHARE 1.28inch Round LCD |
pico/ws_round pico/ws_round_touch |
1.28" IPS 240×240 ラウンドディスプレイ | |
Seeed Studio XIAO RP2040 |
pico/xiao_rp2040 |
Neopixel | |
ili9341 |
pico/xiao_ili9341 |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー |
|
ili9341 |
pico/ili9341 |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー |
|
ili9341 |
pico/ili9341_i2s |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー ポテンショメータ、ボタン i2sオーディオ |
配線ガイド |
ili9341 |
pico/pico4ml |
ST7735 0.96インチディスプレイ 160 x 180 16ビットカラー HM01B0 モノカメラ IMU PDMマイク |
製品ページ |
The Raspberry Pi Pico 2 has the following features:
- RP2350 microcontroller
- Dual-core ARM Cortex M33 @150 MHz
- Dual-core Hazard RISC V (not currently supported)
- 520 KB RAM
- 4 MB flash
Name | Platform identifier | Key features | Links |
---|---|---|---|
Rasberry Pi Pico 2 |
pico |
LED, 26 external pins | |
Sparkfun Pro Micro RP2040 |
pico/pro_micro |
Qwiic/STEMMA connector, Neopixel | |
Pimoroni pico plus 2 |
pico/pico_plus_2 |
Qwiic/STEMMA connector |
これらの手順のほとんどはRaspberry Pi Pico C SDKドキュメントから要約されています。詳細についてはドキュメントを参照してください。
-
Moddable SDK Getting Startedドキュメントには、ホストビルド環境の設定方法や必要なSDK、ドライバ、開発ツールのインストール方法が記載されています。macOSの場合は、ホスト環境のセットアップセクションの指示に従ってください。
-
Pico SDKのセットアップ ホームディレクトリに
~/pico
という名前のディレクトリを作成し、必要なサードパーティのSDKやツールを配置します。cd $HOME mkdir pico
-
brew
を使用して必要なコンポーネントをインストールします。brew install cmake brew tap ArmMbed/homebrew-formulae brew install arm-none-eabi-gcc
-
PICO_GCC_ROOT
環境変数をarm-none-eabi
ツールチェーンのbin
ディレクトリを指すように設定します。macOSの場合、これは通常brew --prefix
で設定されます。x86_64アーキテクチャでは通常/usr/local
、arm64では/opt/homebrew
です。export PICO_GCC_ROOT=$(brew --prefix)
-
pico SDK、extras、およびexamplesをインストールします:
cd $HOME/pico git clone -b 2.0.0 https://github.com/raspberrypi/pico-sdk cd pico-sdk git submodule update --init
cd $HOME/pico git clone -b sdk-2.0.0 https://github.com/raspberrypi/pico-extras
cd $HOME/pico git clone -b sdk-2.0.0 https://github.com/raspberrypi/pico-examples
-
PICO_SDK_DIR
環境変数をPico SDKディレクトリを指すように設定します:export PICO_SDK_DIR=$HOME/pico/pico-sdk
-
いくつかの
pico
ツールをビルドします:cd $PICO_SDK_DIR mkdir build cd build cmake .. make
macOSホスト環境をセットアップした後、以下の手順でPicoにアプリケーションをインストールします。
-
mcconfig
を使用してアプリをビルドおよびデプロイします。mcconfig
は、マイクロコントローラーおよびシミュレーター上でModdableアプリをビルドおよび起動するためのコマンドラインツールです。mcconfig
の完全なドキュメントは こちら にあります。mcconfig
でプラットフォーム-p pico
を指定してPico用にビルドします。helloworld
の例をビルドします:cd $MODDABLE/examples/helloworld mcconfig -d -m -p pico
アプリがビルドされ、インストールされます。数秒後に xsbug
が起動し、Picoに接続されます。
注: デバイスが応答しない場合、次のメッセージが表示されることがあります:
BOOTSEL ボタンを押しながらデバイスの電源を入れ直してください。 /Volumes/RPI-RPI2 を待っています.....
Pico の電源を入れる際に BOOTSEL ボタンを押し続けることで、デバイスをプログラミングモードにします。
デスクトップに
RPI-RP2
という名前のディスクが表示されると、プログラミングモードがアクティブになっていることがわかります。
-
macOSの DISK NOT EJECTED PROPERLY が画面に残っている場合は、
ejectfix.py
ツールをダウンロードして使用することで、自動的に消去することができます。詳細については、Adafruit ブログの記事 を参照してください。
まだ利用できません。
まだ利用できません。
注: このセットアップはVirtualBoxを使用してUbuntu 20 VM上で実行されました。
これらの手順のほとんどはRaspberry Pi Pico C SDKドキュメントから要約されています。詳細についてはドキュメントを参照してください。
-
Moddable SDK Getting Startedドキュメントには、ホストビルド環境の設定方法や必要なSDK、ドライバ、開発ツールのインストール方法が記載されています。Linuxのホスト環境セットアップセクションの指示に従ってください。
-
Pico SDKをセットアップする
ホームディレクトリの
~/pico
に、必要なサードパーティSDKとツール用のpico
ディレクトリを作成します。cd $HOME mkdir pico
-
apt
を使用して必要なコンポーネントをインストールします。sudo apt update sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
-
PICO_GCC_ROOT
環境変数をarm-none-eabi
ツールチェーンのbin
ディレクトリを指すように設定します。Ubuntu 20の場合、それは/usr
に設定されます。export PICO_GCC_ROOT=/usr
-
pico SDK、extras、およびexamplesをインストールします:
cd $HOME/pico git clone -b 2.0.0 https://github.com/raspberrypi/pico-sdk cd pico-sdk git submodule update --init
cd $HOME/pico git clone -b sdk-2.0.0 https://github.com/raspberrypi/pico-extras
cd $HOME/pico git clone -b sdk-2.0.0 https://github.com/raspberrypi/pico-examples
-
PICO_SDK_DIR
環境変数をPico SDKディレクトリを指すように設定します:export PICO_SDK_DIR=$HOME/pico/pico-sdk
-
いくつかの
pico
ツールをビルドします:cd $PICO_SDK_DIR mkdir build cd build cmake .. make
Linuxホスト環境を設定した後、以下の手順に従ってPicoにアプリケーションをインストールします。
-
Picoを電源オンにする際に__BOOTSEL__ボタンを押し続けて、デバイスをプログラミングモードにします。
データ同期が可能なケーブルを使用していることを確認してください。電源供給のみのケーブルは使用しないでください。
注: 電源スイッチ付きのUSBハブがあると非常に便利です。
デスクトップに
RPI-RP2
という名前のディスクが表示されると、プログラミングモードがアクティブになっていることがわかります。注: 仮想マシンを使用する場合、最良の結果を得るためには、Picoデバイスをブートモード状態と実行状態の両方でキャプチャしてください。以下の画像はVirtualBoxでの設定を示しています:
-
mcconfig
を使用してアプリをビルドおよびデプロイします。mcconfig
は、マイクロコントローラーおよびシミュレーター上でModdableアプリをビルドおよび起動するためのコマンドラインツールです。mcconfig
の完全なドキュメントはこちらで利用できます。Pico用にビルドするには、
mcconfig
でプラットフォーム-p pico
を指定します。helloworld
の例をビルドします:cd $MODDABLE/examples/helloworld mcconfig -d -m -p pico
アプリがビルドされ、インストールされます。数秒後に xsbug
が起動し、Picoに接続されます。
ハードウェアのセットアップ手順については、Getting Started With Pico を参照してください。
これらの手順は、Appendix A: Using Picoprobeに記載されている2つのPico SWDセットアップを使用してmacOSホストでテストされています。
-
ドキュメントに記載されているようにpico-openocdをビルドします。
-
コンソールで
openocd
を開始し、コンソールをこのままにします。cd ~/pico/openocd ~/pico/openocd/src/openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
-
別のコンソールで、ビルド結果ディレクトリに移動し、
gdb
を開始します。cd $MODDABLE/build/bin/pico/debug/<app> arm-none-eabi-gdb xs_pico.elf
-
openocd
に接続します。アプリをload
します。デバイスをreset
します。(gdb) target remote localhost:3333 (gdb) load (gdb) monitor reset init (gdb) continue