Skip to content

Latest commit

 

History

History
376 lines (261 loc) · 19.6 KB

pico.md

File metadata and controls

376 lines (261 loc) · 19.6 KB

Getting Started with Raspberry Pi Pico

Copyright 2021-2024 Moddable Tech, Inc.
改訂: 2024年9月24日

このドキュメントは、Raspberry Pi Pico用のModdableアプリケーションの構築を開始する方法を説明します。ホストビルド環境の設定方法、アプリのビルドおよびデプロイ方法に関する情報を提供し、外部開発リソースへのリンクを含みます。

注: Pico への移植は安定していて、ほぼ完了しています。来的な作業には以下が含まれる可能性があります:

  • Mods
  • JavaScript Atomics
  • セカンドコアを利用する Web Workers
  • PIO 統合
  • Windows でのビルド

目次

Raspberry Pi Pico、Pico WおよびPico 2について

詳細については、Raspberry Pi Picoのドキュメントを参照してください。

概要

アプリケーションをビルドする前に、以下を行う必要があります:

  • Moddable SDKをインストールし、そのツールをビルドする
  • Raspberry Pi Picoプラットフォーム用の必要な開発ツールをインストールする

以下の手順では、コマンドラインツールmcconfigを使用してデバイス上でhelloworldの例を実行することで、セットアップを確認します。

mcconfigに関する詳細は、ツールのドキュメントを参照してください

mcconfigを使用してビルドする際には、開発ボードのプラットフォーム識別子-p引数に指定してデバイスターゲットを指定します。例えば、Pico Display用にビルドするには、次のコマンドを使用します:

mcconfig -d -m -p pico/pico_display

利用可能なPicoサブプラットフォームとそのプラットフォーム識別子のリストは、以下のプラットフォームセクションに記載されています。

プラットフォーム

Pico

Raspberry Pi Picoには以下の機能があります:

  • 最大133 MHzで動作するRP2040マイクロコントローラー
  • デュアルコアARM Cortex M0+
  • 264 KB RAM
  • 2 MBフラッシュ

Moddable SDKはPicoで構築されたデバイスをサポートしています。以下の表は、各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。

名前 プラットフォーム識別子 主要機能 リンク

Rasberry Pi
Pico
pico LED、26外部ピン
  • Raspberry Pi Pico ドキュメント

  • Rasberry Pi
    Pico W
    pico/pico_w Wi-Fi、LED、26外部ピン
  • Raspberry Pi Pico ドキュメント

  • Pimoroni
    Pico Display
    pico/pico_display
    simulator/pico_display
    1.4" IPSディスプレイ
    135 x 240
    16ビットカラー
    4ボタン
    RGB LED
  • Pimoroni Pico Display

  • Pimoroni
    Pico Display 2
    pico/pico_display_2
    simulator/pico_display_2
    2.0" IPSディスプレイ
    320 x 240
    16ビットカラー
    4ボタン
    RGB LED
  • Pimoroni Pico Display 2

  • Waveshare
    Pico LCD 1.3
    pico/pico_lcd_1.3 1.3" IPSディスプレイ
    240 x 240
    16ビットカラー
    4ボタン
    1ジョイスティック
  • Waveshare Pico LCD 1.3

  • Adafruit
    ItsyBitsy RP2040
    pico/itsybitsy Neopixel、1ボタン
  • Adafruit 製品ページ

  • LILYGO
    T-Display RP240
    pico/lilygo_t_display 1.14" ST7789、2ボタン、赤LED
  • LilyGO T-Display GitHub リポジトリ

  • Pimoroni
    PicoSystem
    pico/picosystem 1.54" IPS LCD、240 x 240、Dパッド & 4ボタン、RGB LED
  • Pimoroni 製品ページ

  • Sparkfun
    Pro Micro RP2040
    pico/pro_micro Qwiic/STEMMAコネクタ、Neopixel
  • Sparkfun 製品ページ

  • Adafruit
    QT Py
    pico/qtpy STEMMA/Qwiicコネクタ、Neopixel、1ボタン
  • Adafruit 製品ページ

  • Adafruit
    Trinkey QT2040
    pico/qt_trinkey STEMMA/Qwiicコネクタ、Neopixel、1ボタン
  • Adafruit 製品ページ

  • Pimoroni
    Tiny 2040
    pico/tiny2040 RGB LED、1ボタン
  • Pimoroni 製品ページ

  • WAVESHARE
    1.28inch Round LCD
    pico/ws_round
    pico/ws_round_touch
    1.28" IPS 240×240 ラウンドディスプレイ
  • WAVESHARE 製品ページ
  • タッチLCDバージョン

  • Seeed Studio
    XIAO RP2040
    pico/xiao_rp2040 Neopixel
  • Seeed Studio 製品ページ

  • ili9341
    pico/xiao_ili9341 ili9341 QVGAディスプレイ
    320 x 240
    16ビットカラー
  • 配線ガイド - Pico

  • ili9341
    pico/ili9341 ili9341 QVGAディスプレイ
    320 x 240
    16ビットカラー
  • 汎用2.4" & 2.8"ディスプレイ(抵抗タッチ)配線ガイド - Pico

  • ili9341
    pico/ili9341_i2s ili9341 QVGAディスプレイ
    320 x 240
    16ビットカラー
    ポテンショメータ、ボタン
    i2sオーディオ
    配線ガイド

    ili9341
    pico/pico4ml ST7735 0.96インチディスプレイ
    160 x 180
    16ビットカラー
    HM01B0 モノカメラ
    IMU
    PDMマイク
    製品ページ

    Pico 2

    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
  • Raspberry Pi Pico documentation

  • Sparkfun
    Pro Micro RP2040
    pico/pro_micro Qwiic/STEMMA connector, Neopixel
  • Sparkfun product page

  • Pimoroni
    pico plus 2
    pico/pico_plus_2 Qwiic/STEMMA connector
  • Pimoroni product page
  • SDKとホスト環境のセットアップ

    macOSのセットアップ

    これらの手順のほとんどはRaspberry Pi Pico C SDKドキュメントから要約されています。詳細についてはドキュメントを参照してください。

    1. Moddable SDK Getting Startedドキュメントには、ホストビルド環境の設定方法や必要なSDK、ドライバ、開発ツールのインストール方法が記載されています。macOSの場合は、ホスト環境のセットアップセクションの指示に従ってください。

    2. Pico SDKのセットアップ ホームディレクトリに~/picoという名前のディレクトリを作成し、必要なサードパーティのSDKやツールを配置します。

      cd $HOME
      mkdir pico
      
    3. brewを使用して必要なコンポーネントをインストールします。

      brew install cmake
      brew tap ArmMbed/homebrew-formulae
      brew install arm-none-eabi-gcc
      
    4. PICO_GCC_ROOT環境変数をarm-none-eabiツールチェーンのbinディレクトリを指すように設定します。macOSの場合、これは通常brew --prefixで設定されます。x86_64アーキテクチャでは通常/usr/local、arm64では/opt/homebrewです。

      export PICO_GCC_ROOT=$(brew --prefix)
      
    5. 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
      
    6. PICO_SDK_DIR 環境変数をPico SDKディレクトリを指すように設定します:

      export PICO_SDK_DIR=$HOME/pico/pico-sdk
      
    7. いくつかの pico ツールをビルドします:

      cd $PICO_SDK_DIR
      mkdir build
      cd build
      cmake ..
      make
      

    macOS でのアプリのビルドとデプロイ

    macOSホスト環境をセットアップした後、以下の手順でPicoにアプリケーションをインストールします。

    1. 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 ブログの記事 を参照してください。

    Windows Setup

    まだ利用できません。

    Windowsでのアプリのビルドとデプロイ

    まだ利用できません。

    Linuxセットアップ

    注: このセットアップはVirtualBoxを使用してUbuntu 20 VM上で実行されました。

    これらの手順のほとんどはRaspberry Pi Pico C SDKドキュメントから要約されています。詳細についてはドキュメントを参照してください。

    1. Moddable SDK Getting Startedドキュメントには、ホストビルド環境の設定方法や必要なSDK、ドライバ、開発ツールのインストール方法が記載されています。Linuxのホスト環境セットアップセクションの指示に従ってください。

    2. Pico SDKをセットアップする

      ホームディレクトリの~/picoに、必要なサードパーティSDKとツール用のpicoディレクトリを作成します。

      cd $HOME
      mkdir pico
      
    3. aptを使用して必要なコンポーネントをインストールします。

      sudo apt update
      sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
      
    4. PICO_GCC_ROOT 環境変数を arm-none-eabi ツールチェーンの bin ディレクトリを指すように設定します。Ubuntu 20の場合、それは /usr に設定されます。

      export PICO_GCC_ROOT=/usr
      
    5. 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
      
    6. PICO_SDK_DIR 環境変数をPico SDKディレクトリを指すように設定します:

      export PICO_SDK_DIR=$HOME/pico/pico-sdk
      
    7. いくつかの pico ツールをビルドします:

      cd $PICO_SDK_DIR
      mkdir build
      cd build
      cmake ..
      make
      

    Linuxでのアプリのビルドとデプロイ

    Linuxホスト環境を設定した後、以下の手順に従ってPicoにアプリケーションをインストールします。

    1. Picoを電源オンにする際に__BOOTSEL__ボタンを押し続けて、デバイスをプログラミングモードにします。

      データ同期が可能なケーブルを使用していることを確認してください。電源供給のみのケーブルは使用しないでください。

      注: 電源スイッチ付きのUSBハブがあると非常に便利です。

      デスクトップにRPI-RP2という名前のディスクが表示されると、プログラミングモードがアクティブになっていることがわかります。

      注: 仮想マシンを使用する場合、最良の結果を得るためには、Picoデバイスをブートモード状態と実行状態の両方でキャプチャしてください。以下の画像はVirtualBoxでの設定を示しています:

    2. 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ホストでテストされています。

    1. ドキュメントに記載されているようにpico-openocdをビルドします。

    2. コンソールで openocd を開始し、コンソールをこのままにします。

      cd ~/pico/openocd
      ~/pico/openocd/src/openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
      
    3. 別のコンソールで、ビルド結果ディレクトリに移動し、gdb を開始します。

      cd $MODDABLE/build/bin/pico/debug/<app>
      arm-none-eabi-gdb xs_pico.elf
      
    4. openocd に接続します。アプリを load します。デバイスを reset します。

      (gdb) target remote localhost:3333
      (gdb) load
      (gdb) monitor reset init
      (gdb) continue
      

    参考文献

    Getting started with Raspberry Pi Pico

    Hardware Design with RP2040

    Raspberry Pi Pico C SDK