Copyright 2016-2024 Moddable Tech, Inc.
改訂: 2024年9月13日
このドキュメントは、EspressifのESP32シリーズのSoC向けにアプリを構築するためのガイドを提供します。Moddable SDKは、ESP32、ESP32-S2、ESP32-S3、ESP32-C3、ESP32-C6、およびESP32-H2をサポートしています。
-
セットアップ手順
• インストール
• トラブルシューティング• インストール
• トラブルシューティング• インストール
• トラブルシューティング -
- マルチポートデバイス
- ビルド構成
- TinyUSB (esp32s2, esp32s3)
- シリアル-JTAG (esp32s3, esp32c3, esp32c6, esp32h2)
アプリケーションをビルドする前に、以下を行う必要があります:
- Moddable SDKをインストールし、そのツールをビルドする
- ESP32プラットフォーム用の必要なドライバと開発ツールをインストールする
以下の手順では、コマンドラインツールmcconfig
を使用してデバイス上でhelloworld
のサンプルを実行することで、セットアップを確認します。
詳細については、ツールのドキュメントを参照してください。
mcconfig
を使用してビルドする際には、開発ボードのプラットフォーム識別子を-p
引数に指定してデバイスターゲットを設定します。例えば、Moddable Two用にビルドするには、次のコマンドを使用します。
mcconfig -d -m -p esp32/moddable_two
利用可能なESP32、ESP32-S2、ESP32-S3、ESP32-C3、ESP32-C6およびESP32-H2のサブプラットフォームとそのプラットフォーム識別子のリストは、以下のプラットフォームセクションに記載されています。
ESP32には以下の機能があります:
- 240 MHzプロセッサ
- デュアルコア
- Wi-Fi
- BLE
- 520 KB RAM
- 4 MBフラッシュ
Moddable SDKは、ESP32上に構築された多くのデバイスをサポートしています。以下の表は、各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Moddable Two |
esp32/moddable_two simulator/moddable_two |
2.4" IPSディスプレイ 240 x 320 QVGA 16ビットカラー 静電容量式タッチ 20 外部ピン |
|
Moddable Display 2 |
esp32/moddable_display_2 simulator/moddable_two |
2.4" IPSディスプレイ 240 x 320 QVGA 16ビットカラー 静電容量式タッチ 20 外部ピン |
|
Node MCU ESP32 |
esp32/nodemcu |
||
M5Stack |
esp32/m5stack esp32/m5stack_core2 |
1.8" LCDディスプレイ 320 x 240 QVGA 16ビットカラー オーディオ再生 加速度計 NeoPixels |
|
M5Stack Fire |
esp32/m5stack_fire |
1.8" LCDディスプレイ 320 x 240 QVGA 16ビットカラー オーディオ再生 加速度計 NeoPixels |
|
M5Stick C |
esp32/m5stick_c simulator/m5stick_c |
0.96" LCDディスプレイ 80 x 160 16ビットカラー IMU マイクロフォン |
|
M5Stick C PLUS |
esp32/m5stick_cplus |
1.14" LCDディスプレイ 135 x 240 16ビットカラー IMU マイクロフォン |
|
M5Atom |
esp32/m5atom_echo esp32/m5atom_lite esp32/m5atom_matrix |
5 x 5 RGB LEDマトリックスパネル MPU6886慣性センサー 6 外部ピン |
|
M5AtomU |
esp32/m5atom_u |
Neopixel、1ボタン マイクロフォン 6 外部ピン |
|
M5 Paper |
esp32/m5paper simulator/m5paper |
960 x 540 ePaperタッチスクリーン 温度センサー |
|
M5Core Ink |
esp32/m5core_ink |
200 x 200 ePaperディスプレイ ブザー ダイヤル |
|
Heltec WiFi Kit 32 |
esp32/heltec_wifi_kit_32 |
128 x 64 OLEDディスプレイ | |
Wemos OLED Lolin32 |
esp32/wemos_oled_lolin32 |
128 x 64 OLEDディスプレイ 内蔵LEDなし |
|
SparkFun Thing |
esp32/esp32_thing |
||
SparkFun Thing Plus |
esp32/esp32_thing_plus |
||
ESP32 WRover Kit |
esp32/wrover_kit |
||
Wireless Tag WT32-ETH01 |
esp32/wt32_eth01 |
内蔵イーサネット | |
Lilygo TTGO |
esp32/lilygo_ttgo |
135 x 240 IPSディスプレイ ボタン |
|
Moddable Zero | esp32/moddable_zero |
ESP32-S2には以下の機能があります:
- 240 MHzプロセッサ
- Wi-Fi
- 320 KB RAM
- 外部SRAMサポート
- 一般的なモジュールには4 MBフラッシュ
Moddable SDKはEspressifの2つのESP32-S2開発キットをサポートしています。以下の表は各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Kaluga |
esp32/kaluga |
3.2インチLCDディスプレイ 320 x 240 QVGA 16ビットカラー 2 MB SRAM スピーカーとオーディオ再生 タッチパッドパネル NeoPixel LED |
|
Saola (WROOM & WROVERバージョン) |
esp32/saola_wroom esp32/saola_wrover |
NeoPixel LED 2 MB SRAM (WROVERバージョンのみ) |
|
Adafruit QT Py ESP32-S2 |
esp32/qtpys2 |
Neopixel、1ボタン、STEMMA/QWIIC | |
ili9341 |
esp32/qtpys2_ili9341 |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー |
|
Lolin S2 Mini |
esp32/lolin_s2mini |
1ボタン |
ESP32-S3は、オリジナルのESP32の後継機です。以下の特徴があります:
- 240 MHzプロセッサ(デュアルコア)
- Wi-Fi
- BLE
- 512 KB RAM
- 外部PSRAMサポート
- 人気のあるモジュールに8 MBフラッシュ
Moddable SDKはESP32-S3上に構築されたデバイスをサポートしています。以下の表は、各デバイス、そのプラットフォーム識別子、デバイス固有の主要機能のリスト、および追加リソースへのリンクを示しています。
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Moddable Six |
esp32/moddable_six esp32/moddable_six_cdc simulator/moddable_six |
2.4" IPS display 240 x 320 QVGA 16-bit color 8-bit 並列ディスプレイバス 静電容量式タッチ Neopixel Qwiic コネクタ 追加のスピーカー 20個の外部ピン |
|
Moddable Display 6 |
esp32/moddable_display_6 simulator/moddable_six |
2.4" IPS display 240 x 320 QVGA 16-bit color 8-bit parallel display bus 静電容量式タッチ Neopixel Qwiic コネクター 追加のスピーカー 20個の外部ピン |
|
ESP32-S3-DevKitC-1-N8 |
esp32/esp32s3 |
||
Adafruit QT Py ESP32-S3 |
esp32/qtpys3 |
Neopixel、1ボタン、STEMMA/QWIIC | |
Adafruit ESP32-S3 TFT Feather |
esp32/feather_s3_tft |
1.14インチTFTディスプレイ 240 x 135 16ビットカラー |
|
AtomS3 |
esp32/m5atom_s3 |
0.85インチIPSディスプレイ 128 x 128 16ビットカラー 1ボタン IMU |
|
AtomS3 Lite |
esp32/m5atom_s3_lite |
Neopixel、1ボタン | |
M5Dial |
esp32/m5dial |
1.28インチIPS 240×240円形ディスプレイ、タッチ、1ボタン、ロータリーエンコーダ、RTC | |
M5Stamp S3 |
esp32/m5stamp_s3 |
Neopixel、1ボタン | |
Lilygo T-QT ESP32-S3 |
esp32/lilygo_t_qt |
0.85インチLCDディスプレイ 128 x 128 16ビットカラー 2ボタン Qwiicコネクタ |
|
Lilygo T-Display-S3 |
esp32/lilygo_tdisplay_s3 |
1.9インチLCDディスプレイ 170 x 320 16ビットカラー 8ビットパラレルディスプレイ タッチ 2ボタン Qwiicコネクタ |
|
Seeed Studio XIAO ESP32S3 |
esp32/xiao_esp32s3 |
1ボタン | |
ili9341 |
esp32/qtpys3_ili9341 esp32/xiao_esp32s3_ili9341 |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー |
名前 | プラットフォーム識別子 | 主要機能 | リンク |
---|---|---|---|
Lilygo T Camera Plus S3 |
esp32/lilygo_t_camera_plus_s3 |
OV2640 カメラ 1.3" IPSディスプレイ 240 x 240 タッチスクリーン マイク スピーカー |
|
M5 Atom S3R M12 |
esp32/m5atom_s3r |
OV3660 カメラ マイク BMI270 IMU 8MB PSRAM |
|
M5Stack Core S3 |
esp32/m5stack_cores3 |
GC0308 カメラ マイク スピーカー ili9341 QVGA タッチスクリーン 320 x 240 BMI270 IMU BM8563 RTC 8MB PSRAM |
|
Seed Studio XIAO ESP32S3 Sense |
esp32/xiao_esp32s3_sense |
OV2640 カメラ マイク 8MB PSRAM |
ESP32-C3には以下の機能があります:
- 160 MHz RISC-V MCU
- Wi-Fi
- BLE
- 400 KB RAM
- 人気のあるモジュールに4 MBフラッシュメモリ
Moddable SDKは3つのESP32-C3開発キットをサポートしています:
名前 | プラットフォーム識別子 | 主な機能 | リンク |
---|---|---|---|
ESP32-C3-DevKitM-1 |
esp32/esp32c3 |
||
ESP32 C3 DevKitクローン |
esp32/esp32c3_cdc |
||
ESP32-C3-DevKit-RUST-1 |
esp32/c3_devkit_rust |
||
Seeed Studio XIAO ESP32C3 |
esp32/xiao_esp32c3 |
1ボタン | |
Adafruit QT Py ESP32-C3 |
esp32/qtpyc3 |
Neopixel, 1ボタン, STEMMA/QWIIC | |
AI Thinker ESP-C3-32S-Kit (1 MBおよび2 MBバージョン) |
esp32/c3_32s_kit esp32/c3_32s_kit_2m |
RGB LED | |
ili9341 |
esp32/qtpyc3_ili9341 esp32/xiao_esp32c3_ili9341 |
ili9341 QVGAディスプレイ 320 x 240 16ビットカラー |
|
Lolin C3 Mini |
esp32/lolin_c3mini |
1ボタン | |
Lolin C3 Pico |
esp32/lolin_c3pico |
Neopixel, 1ボタン |
ESP32-C6には以下の機能があります:
- 160 MHz RISC-V MCU
- Wi-Fi
- BLE
- 512 KB RAM
- 人気のあるモジュールに4 MBフラッシュメモリ
Moddable SDKは3つのESP32-C6開発キットをサポートしています:
名前 | プラットフォーム識別子 | 主な機能 | リンク |
---|---|---|---|
ESP32-C6-DevKitC-1 |
esp32/esp32c6 |
NeoPixel、ボタン | |
M5NanoC6 |
esp32/m5nanoc6 |
LED、NeoPixel、ボタン |
ESP32-H2には以下の機能があります:
- 96 MHz RISC-V MCU
- BLE
- 320 KB RAM
- 人気のあるモジュールに4 MBフラッシュメモリ
Moddable SDKは3つのESP32-H2開発キットをサポートしています:
Name | Platform identifier | Key features | Links |
---|---|---|---|
ESP32-H2-DevKitM-1 |
esp32/esp32h2 |
NeoPixel、ボタン |
ビルドのターゲットESP32サブクラスは、マニフェストのbuild
セクションでESP32_SUBCLASS
プロパティを使用して指定します。これは通常、ターゲットビルドデバイスのマニフェストによって設定されます。以下の例は、サブクラスをESP32-S2に設定する方法を示しています。
"build":{
"ESP32_SUBCLASS": "esp32s2"
},
ESP32_SUBCLASS |
デバイス |
---|---|
esp32 または未設定 |
ESP32 |
esp32s2 |
ESP32-S2 |
esp32s3 |
ESP32-S3 |
esp32c3 |
ESP32-C3 |
esp32c6 |
ESP32-C6 |
esp32h2 |
ESP32-H2 |
ESP32は、デバッグ、instrumented、およびリリースの3種類のビルドをサポートしています。各ビルドは、製品開発プロセスの異なる段階に適しています。どの種類のビルドを行うかは、コマンドラインから選択します。
デバッグビルドはJavaScriptのデバッグに使用されます。デバッグビルドでは、ESP-IDFのロギングが無効化され、GDBスタブは存在しません。
mcconfig
コマンドラインで -d
オプションを使用すると、デバッグビルドが選択されます。
instrumentedビルドはネイティブコードのデバッグに使用されます。instrumentedビルドでは、ESP-IDFのロギングが有効化され、GDBスタブが存在します。JavaScriptデバッガは無効化されます。通常、xsbugで利用可能な計測データは、1秒ごとにシリアルコンソールに出力されます。
mcconfig
コマンドラインで -i
オプションを使用すると、instrumentedビルドが選択されます。
リリースビルドは本番用です。リリースビルドでは、ESP-IDFのロギングが無効化され、GDBスタブは存在せず、JavaScriptデバッガは無効化され、instrumented統計は収集されず、シリアルコンソールの出力も抑制されます。
mcconfig
コマンドラインで -d
および -i
オプションを省略すると、リリースビルドが選択されます。なお、-r
はリリースビルドの選択ではなく、回転を指定します。
Moddable SDKのESP32用ビルドは現在、ESP-IDF v5.3.1(コミット c8fc5f64
)およびEspressifのidf.py
ツールのCMakeオプションを使用しています。
-
Getting Startedドキュメントに従って、Moddable SDKツールをインストールします。
-
必要なサードパーティのSDKおよびツールのために、ホームディレクトリに
~/esp32
という名前のesp32
ディレクトリを作成します。 -
macOS 10.15(Catalina)以前のバージョンを使用している場合は、Silicon LabsのCP210x USB to UART VCPドライバをダウンロードしてインストールします。
macOS Catalinaを使用している場合、VCPドライバを有効にするために追加の手順が必要です。インストール中に「システム拡張がブロックされました」というポップアップが表示された場合は、ダイアログの指示に従ってセキュリティとプライバシーのシステム環境設定で拡張機能を有効にしてください。
もし、macOS 10.16 (Big Sur) 以降を使用している場合、VCPドライバをインストールする必要はありません。
-
初めてインストールする場合は、
ESP-IDF
GitHubリポジトリを~/esp32
ディレクトリにクローンします。必ず--recursive
オプションを指定してください。v5.3.1
タグをチェックアウトすることを忘れないでください:cd ~/esp32 git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.1
-
(オプション)Homebrewを更新し、Python、cmake、ninja、pipパッケージ管理システム、およびpyserialをインストールします。すでに古いバージョンがインストールされている場合は、それらのパッケージを
brew upgrade
でアップグレードします:brew update brew install python3 cmake ninja dfu-util brew upgrade python3 cmake ninja dfu-util pip install pyserial
-
USBケーブルを使用してESP32デバイスをmacOSホストに接続します。
-
シェルのスタートアップ/初期化ファイルを開きます。
macOS Mojave以前の場合、デフォルトのシェルは
bash
なので、~/.profile
を開く必要があります。open ~/.profile
macOS Catalinaから、デフォルトのシェルは
zsh
です。したがって、~/.zshrc
を開いてください。open ~/.zshrc
-
開いたファイルに次の行を追加して保存します。これにより、
IDF_PATH
環境変数がESP-IDFディレクトリを指すように設定されます。export IDF_PATH=$HOME/esp32/esp-idf-v5.3.1
上級ユーザー向けにオプションの環境変数が1つあります:
UPLOAD_PORT
。ESP-IDFビルド/設定ツール
idf.py
はほとんどの場合シリアルポートを自動的に検出します。検出しない場合は、使用するポートのパスをUPLOAD_PORT
環境変数に設定します。export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
適切なシリアルポートを特定するには、ESP32デバイスを接続する前後のmacOSのシリアルデバイスのリストを確認し、新しく表示されるシリアルポートをメモします。シリアルデバイスファイルのリストを表示するには、ターミナルで次のコマンドを使用します。
ls /dev/cu.*
UPLOAD_PORT
は mcconfig
コマンドラインでも指定でき、複数のESP32デバイスにデプロイする際に便利です。
UPLOAD_PORT=/dev/cu.SLAB_USBtoUART mcconfig -d -m -p esp32
-
~/.profile
や~/.zshrc
にエクスポート文を追加しても、アクティブなシェルインスタンスの環境変数は更新されませんので、新しいシェルインスタンスを開く(新しいタブ/ウィンドウを開く)か、シェルで手動でエクスポート文を実行してから続行してください。 -
ESP-IDFインストールスクリプトを実行します。これにより、ESP-IDFビルドに必要な適切なクロスコンパイルツールチェーンとユーティリティがインストールされます。
cd $IDF_PATH
./install.sh
M1チップを搭載したMacを使用している場合、インストールスクリプトを実行する前に追加の手順が必要です。これは、ESP-IDFがまだDarwin-arm64ホストを適切にサポートしていないためです。このコメント には、この問題を回避するための手順が記載されています。
-
ビルド環境を設定するために、ESP-IDFの
export.sh
スクリプトをソースにします。**これは新しいシェルインスタンスを開くたびに__毎回__実行する必要があります。**手動で実行するか、スタートアップスクリプトで実行してください。source $IDF_PATH/export.sh
新しいシェルインスタンスのためにこのプロセスを自動化したい場合は、上記のステップ7-9の指示に従い、シェルのスタートアップ/初期化スクリプトの最後に
source
コマンドを追加してください。export IDF_PATH
コマンドの後に追加することを確認してください。 -
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd ${MODDABLE}/examples/helloworld mcconfig -d -m -p esp32/<YOUR_SUBPLATFORM_HERE>
ESP32ターゲット用にアプリケーションを初めてビルドする際、ツールチェーンが設定オプションの入力を求めることがあります。この場合、デフォルトを受け入れてください。
アプリケーションをインストールしようとすると、エラーや警告の形で障害に遭遇することがあります。このセクションでは、macOSでの一般的な問題とその解決方法について説明します。
他のmacOS、Windows、およびLinuxで共通の問題については、このドキュメントの下部にあるトラブルシューティングセクションを参照してください。
次のエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。
error: cannot access /dev/cu.SLAB_USBtoUART
error: cannot access /dev/usbserial-0001
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていません。ビルドコマンドを実行するときに接続されていることを確認してください。
- 電源のみのUSBケーブルを使用しています。データ同期可能なUSBケーブルを使用していることを確認してください。
- 別のアプリケーションがシリアルポートに接続されています。例えば、シリアルモニターがポートを開いている可能性があります。アプリケーションを閉じるか、デバイスをアプリケーションから切断してください。
- コンピュータがデバイスを認識しません。この問題を解決するためには、以下の指示に従ってください。
デバイスを取り外し、次のコマンドを入力します。
ls /dev/cu*
次に、デバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。
macOS 10.15以前を使用している場合は、正しいVCPドライバがインストールされていることを確認してください。macOS 10.16以前を使用している場合は、VCPドライバをインストールする必要はありません。
認識された場合、デバイス名が取得され、UPLOAD_PORT
環境変数を編集する必要があります。以下のコマンドを入力し、/dev/cu.SLAB_USBtoUART
をシステム上のデバイス名に置き換えてください。
export UPLOAD_PORT=/dev/cu.SLAB_USBtoUART
EspressifはPython 3への移行を推奨しています。Python 2.7は推奨されていません。
しかし、Python 2.7を使用していて、ESP-IDFのビルド中にSSL証明書エラーが発生する場合は、Python 2.7と必要なパッケージを手動でインストールする必要があります。追加のコンポーネントをインストールするために、brewとpipを使用しました。
brew install python
brew install python@2
pip install future
pip install pyserial
pip install cryptography
これは大幅なアップデートです。クリーンクローンから始めるのが最善です。
-
ディスクスペースに余裕がある場合は、古いESP-IDFをバックアップすることをお勧めします。
cd ~/esp32/ mv esp-idf esp-idf.old
-
ディレクトリを削除し、リポジトリをクローンします。
cd ~/esp32 rm -rf esp-idf git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
-
(オプション - おそらくこれを行う必要はありません)Homebrewを更新し、必要なツールがすべて揃っていることと、それらが最新であることを確認します:
brew update brew install python cmake ninja brew upgrade python cmake ninja pip install pyserial
-
IDF_PATH
環境変数がシェルのユーザープロファイルファイル(例:~/.profile
または~/.zshrc
、シェルによって異なります)に正しく設定されていることを確認します。export IDF_PATH=$HOME/esp32/esp-idf
-
ESP-IDFインストールスクリプトを実行します。これにより、ESP-IDFビルドに必要な適切なクロスコンパイルツールチェーンとユーティリティがインストールされます。
cd $IDF_PATH ./install.sh
-
ESP-IDFの
export.sh
スクリプトをソースにしてビルド環境をセットアップします。これは新しいシェルインスタンスを開くたびに手動で、またはスタートアップスクリプトによって実行する必要があります。source $IDF_PATH/export.sh
新しいシェルインスタンスのためにこのプロセスを自動化したい場合は、上記のステップ3の指示に従い、シェルのスタートアップ/初期化スクリプトの最後に
source
コマンドを追加します。export IDF_PATH
コマンドの後に追加することを確認してください。
Moddable SDKのESP32用ビルドは現在、ESP-IDF v5.3.1(コミット c8fc5f64
)およびEspressifのidf.py
ツールのCMakeオプションを使用しています。
-
Getting Startedドキュメントの指示に従って、Moddable SDKツールをインストールします。
-
Silicon LabsのCP210x USB to UART VCPドライバをダウンロードしてインストールします。ドライバのzipファイルには、x64およびx86バージョンのインストーラが含まれています。ほとんどの最新のPCは64ビット版のWindowsを実行しているため、x64バージョンのVCPドライバを使用する必要があります。32ビット版のWindowsを実行している場合は、x86バージョンのドライバを使用してください。(コンピュータが64ビット版のWindowsを実行しているかどうかは、システム設定の「PCの情報」で確認できます)
-
EspressifのESP-IDF Windowsインストーラをダウンロードして実行します。これにより、ESP32 Xtensa gccツールチェーン、Ninja Build、OpenOCD、およびKConfigフロントエンドがインストールされます。このツールは、必要に応じて新しくダウンロードされたツールを含むように
PATH
を設定します。
インストーラーのデフォルトオプションをすべて受け入れるか、必要に応じてインストール場所を変更しても安全です。
CMakeやPythonがまだインストールされていない場合、インストーラーはそれらのツールをダウンロードしてインストールするように促します(必要に応じてインストールしてください)。
インストーラーはESP-IDFのgitリポジトリをクローンするオプションを提供します。このオプションを選択する場合は、「v5.3.1(リリースバージョン)」オプションを選択し、ホームフォルダ内のesp32\esp-idf
というディレクトリにクローンしてください。
-
ESP-IDFをESP-IDF Windowsインストーラーを使用してクローンしなかった場合、ホームフォルダに
esp32
ディレクトリを作成します。これは、ファイルエクスプローラーまたはコマンドプロンプトから行います:cd %USERPROFILE% mkdir esp32
-
ESP-IDFをESP-IDF Windowsインストーラーを使用してクローンしなかった場合、
ESP-IDF
Githubリポジトリを~/esp32
ディレクトリにクローンします。必ず--recursive
オプションを指定してください。その後、v5.3.1
タグをチェックアウトします:cd %USERPROFILE%\esp32 git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
既にESP-IDFのクローンコピーを持っている場合、最も簡単な更新方法は既存のesp-idf
フォルダーを削除して再度クローンすることです。EspressifのESP-IDFの取得方法を参照
-
USBケーブルを使ってESP32デバイスをWindowsホストに接続します。
-
これらの指示に従って、コントロールパネルアプリの「環境変数」ダイアログを開きます。そのダイアログから:
IDF_PATH
という名前のユーザー変数を作成し、ESP-IDFをクローンしたディレクトリに設定します。例:- 変数名:
IDF_PATH
- 変数値(「ディレクトリを参照。..」ボタンを使用してこの選択を行います):
C:\Users\<user>\esp32\esp-idf
- 変数名:
上級ユーザー向けのオプションの環境変数が1つあります:
UPLOAD_PORT
。
ESP-IDFビルド/設定ツールidf.py
はほとんどの場合シリアルポートを自動的に検出します。検出しない場合は、上記と同じ手順でUPLOAD_PORT
環境変数に使用するポートのパスを設定します。
-
UPLOAD_PORT
: デバイスのCOMポート、例:COM3
正しいシリアルポートを特定するには、Windowsデバイスマネージャを起動します。「ポート (COM & LPT)」セクションを開き、「Silicon Labs CP210x USB to UART Bridge」が表示されていることを確認し、関連するCOMポート(例:COM3)をメモします。
-
新しく設定された環境変数は既存のコマンドプロンプトインスタンスでは有効にならないため、これらの変更を適用した後に新しいコマンドプロンプトインスタンスを開くようにしてください。
-
ESP-IDFインストールバッチファイルを実行します。これにより、ESP-IDFビルドに使用されるユーティリティがマシンに対して設定されます。
cd %IDF_PATH% install.bat
-
ESP-IDF Windowsインストーラーは、重要な環境変数とパスを自動的に設定する「ESP-IDF 5.3.1 CMD」と呼ばれるコマンドプロンプトを提供します。「ESP-IDF 5.3.1 CMD」でESP32プロジェクトをビルドすることをお勧めします。新しいコマンドプロンプトインスタンスごとに、Visual Studio x86初期化バッチファイルを手動で実行する必要があります。システムに応じてパスを調整してください。
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat"
専門家向けの注意: Windowsのショートカットを編集することに慣れている場合、この手動プロセスの便利な代替手段として、「ESP-IDF 5.3.1 CMD」ショートカットを変更して、ESP-IDF環境とVisual Studio x86環境の両方を初期化することができます。これを行うには、「ESP-IDF 5.3.1 CMD」ショートカットを右クリックして「プロパティ」を選択します。プロパティウィンドウの「ターゲット」フィールドには、次のようなコマンドが表示されます。
C:\WINDOWS\system32\cmd.exe /k "C:\Users\<username>\.espressif\idf_cmd_init.bat"
ターゲットを次のように変更して、vcvars32.bat
へのパスを含めることができます。システムに合わせてパスを調整してください。
%comspec% /k ""%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" && pushd %IDF_PATH% && "%IDF_TOOLS_PATH%\idf_cmd_init.bat" && popd"
また、ショートカットの「作業フォルダー」フィールドを %MODDABLE%
に更新して、Moddable SDKディレクトリでコマンドプロンプトセッションを開始することも便利です。
> 注: これらの指示は、ESP-IDF が1つだけインストールされていることを前提としています。必要に応じて、`idf_cmd_init.bat` に特定の ESP-IDF インストールを指定する引数を渡すこともできます。この引数は、デフォルトの "ESP-IDF 5.3.1 CMD" ショートカットで設定する必要があります。
-
"ESP-IDF 5.3.1 CMD" コマンドプロンプトで、デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd %MODDABLE%\examples\helloworld mcconfig -d -m -p esp32/<YOUR_SUBPLATFORM_HERE>
アプリケーションをインストールしようとすると、エラーや警告の形で障害が発生することがあります。このセクションでは、Windowsでの一般的な問題とその解決方法について説明します。
macOS、Windows、およびLinuxで共通のその他の問題については、このドキュメントの最後にあるトラブルシューティングセクションを参照してください。
Windows 10および11に含まれている組み込みのウイルス対策ソフトウェア(Microsoft Defender、以前のWindows Defender)は、ESP-IDFのビルドを大幅に遅くする可能性があります。EspressifのESP-IDF Windows インストーラーには、ビルド中のリアルタイムスキャンを回避するために必要なすべての除外設定を自動的に構成するオプションが含まれています。ビルドが遅い場合は、ESP-IDF Windowsインストーラーを再実行して、そのオプションが選択されていることを確認してください。また、これらの指示に従って、Moddableビルドフォルダーやその他のカスタムビルド出力ディレクトリを手動で除外する必要がある場合もあります。
Espressifは、ESP-IDF v5.3.1でビルドする際にPython 3.9以降の使用を推奨しています。Python 3.9はESP-IDF Windowsインストーラーによってインストールされます。
以前のバージョンのPython(例えばPython 2.7)がシステムにインストールされていた場合、Python 3.9がデフォルトで選択されるようにするために、システムPATHからそれを削除する必要があるかもしれません。PATH内のC:\Python27\
やC:\Python27\Scripts\
のようなエントリを探し、ビルドプロセス中にPythonエラーが発生した場合はそれらを削除してください。
Pythonの依存関係がインストールされていないというエラーが発生した場合、それはESP-IDFインストーラーがPythonを更新できなかったことを意味します。これは通常、マシンの権限の問題によって発生します。これを修正するには、「x86 Native Tools Command Prompt for VS 2022」からpython -m pip install -r %IDF_PATH%\requirements.txt
を実行してください。
デバイスが接続されていない場合、またはUPLOAD_PORTが適切なCOMポートに設定されていない場合、ビルド後にいくつかのエラーメッセージが表示されることがあります。次のようなエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。could not open port 'COM3'
というメッセージに注目してください。
raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'COM3': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2)
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていない。ビルドコマンドを実行する際に接続されていることを確認してください。
- 電源供給のみのUSBケーブルを使用している。データ同期が可能なUSBケーブルを使用していることを確認してください。
- コンピュータがデバイスを認識していない。この問題を解決するには、以下の指示に従ってください。
デバイスマネージャーでUSBデバイスの一覧を確認します。デバイスが不明なデバイスとして表示される場合、正しいVCPドライバがインストールされていることを確認してください。
デバイスがCOM3以外のCOMポートに表示される場合、UPLOAD_PORT
環境変数を編集する必要があります。以下のコマンドを入力し、COM3
をシステムに適したデバイスのCOMポートに置き換えてください。
set UPLOAD_PORT=COM5
Windows上の多くのESP32エラーは、Espressifツールを更新することで修正できます。これは特に、「ESP-IDF CMD」コマンドプロンプトの初期化中に報告されるエラーや、ビルド中のPythonバージョンエラーに当てはまります。
Espressifツールを更新するには、最新のESP-IDF Windows Installerをダウンロードして実行します。既にESP-IDFツリーがインストールされている場合は、新しいESP-IDFツリーをクローンしないでください。代わりに、既存のESP-IDFツリーを使用するオプションを選択し、%IDF_PATH%
を指し示します。
ビルド環境が最新であることを確認するために、以下の手順を実行します:
- EspressifのESP-IDF Windows Installerをダウンロードして実行します。これにより、ESP32 Xtensa gccツールチェーン、Ninja Build、OpenOCD、およびKConfigフロントエンドが更新されます。このツールは、必要に応じて新しくダウンロードされたツールを含むように
PATH
を設定します。
インストーラーのデフォルトオプションをすべて受け入れるか、必要に応じてインストール場所を変更しても安全です。
CMakeやPythonがまだインストールされていない場合、インストーラーはそれらのツールをダウンロードしてインストールするように促します(必要に応じてインストールしてください)。
ESP-IDFをクローンする場合は、v5.3.1 (release version)
のesp-idfを選択してください。
インストーラーを使用してESP-IDFをクローンする場合は、次のステップの指示に従ってv5.3.1
タグに更新してください。
-
ESP-IDF Windows Installerを使用してESP-IDFをクローンしなかった場合、
ESP-IDF
Githubリポジトリを~/esp32
ディレクトリにクローンします。--recursive
オプションとブランチv5.3.1
タグを指定してください:cd %USERPROFILE%\esp32 git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
-
コントロールパネルアプリの「環境変数」ダイアログを開き、これらの指示に従ってください。そのダイアログから、
IDF_PATH
Windows環境変数が正しく設定されていることを確認します。IDF_PATH
はC:\Users\<user>\esp32\esp-idf
の値を持つ必要があります
-
ESP-IDFのインストールバッチファイルを実行します。これにより、ESP-IDFビルドに使用されるユーティリティがマシンに対して構成されます。
cd %IDF_PATH% install.bat
-
ESP-IDF Windowsインストーラーは、重要な環境変数とパスを自動的に設定するコマンドプロンプト「ESP-IDF 5.1 CMD」を提供します。ESP32プロジェクトをビルドする際には、「ESP-IDF 5.1 CMD」を使用することをお勧めします。新しいコマンドプロンプトインスタンスごとに、Visual Studio x86初期化バッチファイルを手動で実行する必要があります。システムに合わせてパスを調整してください。
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat"
熟練者向けの注意: Windowsショートカットの編集に慣れている場合、この手動プロセスの便利な代替手段として、「ESP-IDF 5.1 CMD」ショートカットを変更して、ESP-IDF環境とVisual Studio x86環境の両方を初期化することができます。これを行うには、「ESP-IDF 5.1 CMD」ショートカットを右クリックし、「プロパティ」を選択します。プロパティウィンドウの「ターゲット」フィールドには、次のようなコマンドが表示されます。
C:\WINDOWS\system32\cmd.exe /k "C:\Users\<username>\.espressif\idf_cmd_init.bat"
ターゲットを次のように変更して、
vcvars32.bat
へのパスを含めることができます。システムに合わせてパスを調整してください。%comspec% /k ""%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" && pushd %IDF_PATH% && "%IDF_TOOLS_PATH%\idf_cmd_init.bat" && popd"
ショートカットの「開始位置」フィールドを
%MODDABLE%
に更新して、Moddable SDKディレクトリでコマンドプロンプトセッションを開始するのも便利です。注: これらの手順は、ESP-IDF のコピーが 1 つだけインストールされていることを前提としています。必要に応じて、
idf_cmd_init.bat
に特定の ESP-IDF インストールを指定する引数を取ることもできます。この引数は、デフォルトの「ESP-IDF 5.1 CMD」ショートカットに設定する必要があります。 -
「ESP-IDF 5.1 CMD」コマンドプロンプトで、デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:cd %MODDABLE%\examples\helloworld mcconfig -d -m -p esp32/<YOUR_SUBPLATFORM_HERE>
Moddable SDKのESP32向けビルドは現在、ESP-IDF v5.3.1(コミット c8fc5f64
)およびEspressifの idf.py
ツール のCMakeオプションを使用しています。
-
Getting Started documentの指示に従って、Moddable SDKツールをインストールします。
-
ESP-IDF
でコンパイルするために必要なパッケージをインストールします。Ubuntu 20.04以降(およびPython 3をデフォルトとする他のLinuxディストリビューション)の場合:
sudo apt-get update sudo apt-get install git wget flex bison gperf python-is-python3 python3-pip python3-serial python-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
Ubuntu 20.04以前(およびPython 2をデフォルトとする他のLinuxディストリビューション)の場合:
sudo apt-get update sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache libffi-dev libssl-dev dfu-util
注: ESP-IDFビルドはPython 3を推奨しており、まもなくPython 2.7のサポートを終了します。ディストリビューションがデフォルトでPython 2.7を使用している場合は、以下のコマンドでPython 3を明示的にインストールし、デフォルトのPythonインタープリタとして設定できます。これはシステム全体の変更であり、Pythonを使用する他のアプリケーションにも影響を与えることに注意してください。
sudo apt-get install python3 python3-pip python3-setuptools sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
-
必要なサードパーティSDKとツールのために、ホームディレクトリに
esp32
ディレクトリを~/esp32
に作成します。 -
これが初めてのインストールの場合、
ESP-IDF
GitHubリポジトリを~/esp32
ディレクトリにクローンします。--recursive
オプションを指定することを確認してください。その後、v5.3.1
タグをチェックアウトします:
cd ~/esp32
git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.3.1
-
USBケーブルを使ってESP32デバイスをLinuxホストに接続します。
-
シェルのスタートアップ/初期化ファイル(例:
~/.bash_profile
や~/.zshrc
、使用しているシェルによります)を開き、次の行をファイルに追加して保存します。これにより、IDF_PATH
環境変数がESP-IDFディレクトリを指すように設定されます。
export IDF_PATH=$HOME/esp32/esp-idf
上級ユーザー向けのオプションの環境変数として、UPLOAD_PORT
があります。
ESP-IDFビルド/設定ツールidf.py
はほとんどの場合シリアルポートを自動的に検出します。もし検出しない場合は、使用するポートのパスをUPLOAD_PORT
環境変数に設定します。
export UPLOAD_PORT=/dev/ttyUSB0
適切なシリアルポートを特定するには、ESP32デバイスを接続する前後のLinuxホスト上のシリアルデバイスのリストを確認し、新しく表示されるシリアルポートを確認します。シリアルデバイスファイルのリストを表示するには、次のコマンドを使用します:
ls /dev/*
UPLOAD_PORT
は、複数のESP32デバイスにデプロイする際に便利なmcconfig
コマンドラインでも指定できます。
UPLOAD_PORT=/dev/ttyUSB0 mcconfig -d -m -p esp32
-
シェルのスタートアップファイルにエクスポート文を追加しても、アクティブなシェルインスタンスの環境変数は更新されませんので、新しいシェルインスタンス(新しいタブ/ウィンドウを開く)を開くか、シェルでエクスポート文を手動で実行してから続行してください。
-
ESP-IDFインストールスクリプトを実行します。これにより、ESP-IDFビルドに必要な適切なクロスコンパイルツールチェーンとユーティリティがインストールされます。
cd $IDF_PATH sh ./install.sh
-
ESP-IDF
export.sh
スクリプトをソースにしてビルド環境を設定します。これは新しいシェルインスタンスを開くたびに実行する必要があります。 手動で実行するか、スタートアップスクリプトで実行します。source $IDF_PATH/export.sh
新しいシェルインスタンスのためにこのプロセスを自動化したい場合は、上記のステップ6-7の指示に従い、シェルのスタートアップ/初期化スクリプトの最後に
source
コマンドを追加します。export IDF_PATH
コマンドの後に追加することを確認してください。 -
デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:
cd $MODDABLE/examples/helloworld
mcconfig -d -m -p esp32/<YOUR_SUBPLATFORM_HERE>
ESP32ターゲット用のアプリケーションを初めてビルドする際、ツールチェーンが設定オプションの入力を求めることがあります。その場合は、デフォルトを受け入れてください。
アプリケーションをインストールしようとすると、エラーや警告の形で障害に遭遇することがあります。このセクションでは、Linux上での一般的な問題とその解決方法について説明します。
macOS、Windows、およびLinuxで共通のその他の問題については、このドキュメントの下部にあるトラブルシューティングセクションを参照してください。
ESP32はttyUSB0デバイスを介してLinuxホストと通信します。Ubuntu Linuxでは、ttyUSB0デバイスはdialout
グループによって所有されています。ESP32をフラッシュする際に許可が拒否されましたエラーが発生した場合は、ユーザーをdialout
グループに追加してください:
sudo adduser <username> dialout
sudo reboot
次のエラーメッセージは、デバイスがコンピュータに接続されていないか、コンピュータがデバイスを認識していないことを意味します。
error: cannot access /dev/ttyUSB0
これが発生する理由はいくつかあります:
- デバイスがコンピュータに接続されていません。ビルドコマンドを実行する際に接続されていることを確認してください。
- 電源のみのUSBケーブルを使用しています。データ同期が可能なUSBケーブルを使用していることを確認してください。
- コンピュータがデバイスを認識していません。この問題を解決するには、以下の指示に従ってください。
デバイスを取り外し、次のコマンドを入力します。
ls /dev/cu*
次にデバイスを接続し、同じコマンドを再度実行します。ターミナル出力に新しいものが表示されない場合、デバイスはコンピュータに認識されていません。
認識された場合、デバイス名がわかるので、UPLOAD_PORT
環境変数を編集する必要があります。次のコマンドを入力し、/dev/ttyUSB1
をシステム上のデバイス名に置き換えます。
export UPLOAD_PORT=/dev/ttyUSB1
これは大規模な更新です。クリーンなクローンから始めるのが最善です。
- ディスクスペースに余裕がある場合、古いESP-IDFをバックアップすることをお勧めします。
cd ~/esp32/
mv esp-idf esp-idf.old
- ディレクトリを削除し、リポジトリをクローンします。
cd ~/esp32
rm -rf esp-idf
git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
- (オプション)aptを更新し、
ESP-IDF
のコンパイルに必要な不足しているパッケージ(および既存のパッケージのアップグレード)をインストールします。インストールするパッケージは、ディストリビューションのデフォルトのPythonバージョンによって異なります。
Ubuntu 20.04以降(およびPython 3をデフォルトとする他のLinuxディストリビューション)の場合:
sudo apt-get update
sudo apt-get install git wget flex bison gperf python-is-python3 python3-pip python3-serial python-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
Ubuntu 20.04以前(およびPython 2をデフォルトとする他のLinuxディストリビューション)の場合:
sudo apt-get update
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache libffi-dev libssl-dev dfu-util
注: ESP-IDFのビルドはPython 3を推奨しています。ディストリビューションがデフォルトでPython 2.7を使用している場合、以下のコマンドでPython 3を明示的にインストールし、デフォルトのPythonインタープリタとして設定できます。これはシステム全体の変更であり、Pythonを使用する他のアプリケーションにも影響を与えることに注意してください。
sudo apt-get install python3 python3-pip python3-setuptools
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
- シェルのユーザープロファイルファイル(例:
~/.bash_profile
または~/.zshrc
、シェルに応じて)にIDF_PATH
環境変数が正しく設定されていることを確認します。
export IDF_PATH=$HOME/esp32/esp-idf
- ESP-IDFインストールスクリプトを実行します。これにより、ESP-IDFビルドに必要な適切なクロスコンパイルツールチェーンとユーティリティがインストールされます。
cd $IDF_PATH
./install.sh
- ESP-IDFの
export.sh
スクリプトをソースにしてビルド環境を設定します。これは新しいシェルインスタンスを開くたびに手動で、またはスタートアップスクリプトによって実行する必要があります。
source $IDF_PATH/export.sh
新しいシェルインスタンスのためにこのプロセスを自動化したい場合は、上記のステップ3の指示に従い、シェルのスタートアップ/初期化スクリプトの最後に source
コマンドを追加します。export IDF_PATH
コマンドの後に追加することを確認してください。
$MODDABLE/build/bin/esp32
または$MODDABLE/build/tmp/esp32
に既存のESP32ビルド出力がある場合は、それらのディレクトリを削除します。
cd $MODDABLE/build
rm -rf bin/esp32
rm -rf tmp/esp32
- デバイスターゲット用に
helloworld
をビルドしてセットアップを確認します:
cd $MODDABLE/examples/helloworld
mcconfig -d -m -p esp32/<YOUR_SUBPLATFORM_HERE>
ESP32ターゲット用にアプリケーションを初めてビルドする際、ツールチェーンが設定オプションの入力を求めることがあります。この場合、デフォルトを受け入れてください。
アプリケーションをインストールしようとすると、エラーや警告の形で障害が発生することがあります。このセクションでは、一般的な問題とその解決方法について説明します。
次の警告メッセージは通常であり、心配する必要はありません。
warning: serialport_set_baudrate: baud rate 921600 may not work
ただし、アップロードが開始されても完了しないことがあります。コンソールに表示される進行バーが100%に達すると、アップロードが完了したことがわかります。例えば:
........................................................... [ 16% ]
........................................................... [ 33% ]
........................................................... [ 49% ]
........................................................... [ 66% ]
........................................................... [ 82% ]
........................................................... [ 99% ]
.. [ 100% ]
アップロードが途中で失敗する理由はいくつかあります:
- USBケーブルが故障している。
- 高いボーレートをサポートしていないUSBケーブルを使用している。
- Moddable SDKが使用するデフォルトのボーレートよりも低いボーレートを必要とするボードを使用している。
上記の最後の2つの問題を解決するには、次のようにしてボーレートを遅くすることができます:
-
$MODDABLE/tools/mcconfig/make.esp32.mk
を開きます。 -
アップロード速度を921600に設定するこの行を見つけます:
UPLOAD_SPEED ?= 921600
- スピードを小さい数値に設定します。例えば:
UPLOAD_SPEED ?= 115200
注:
make.esp32.mk
ファイルを変更する代わりに、環境変数UPLOAD_SPEED
を設定して一時的に変更することができます。
ESP32がブートローダーモードになっていない場合、デバイスにフラッシュすることはできません。ESP32を使用して構築されたほとんどの開発ボードには、ボードを再フラッシュしようとすると自動的にブートローダーモードにする回路が含まれています。一部のボードには含まれておらず、時々自動プログラミングが失敗することがあります。これは特にWindowsマシンで一般的です。
ESP32がブートローダーモードになっていない場合、デバイスをフラッシュしようとするとステータスメッセージのトレースが一時的に停止し、数秒後にこのエラーメッセージがコンソールにトレースされます:
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
ESP32を手動でブートローダーモードにするには、次の手順に従います:
- デバイスのプラグを抜きます。
- BOOTボタンを押し続けます。
- デバイスをコンピュータに接続します。
mcconfig
コマンドを入力します。- 数秒待ってからBOOTボタンを離します。
元々、ESP32のプログラミングとデバッグはシリアル接続またはUARTを介して行われていました。一部のデバイスには統合されたシリアル-to-USBチップ(UART)が含まれており、一部は外部プログラマを使用しています。
新しいデバイスでは、EspressifはUSBサポートを追加しました。ESP32-S2からTinyUSBサポートが追加され、ESP32-S3でもTinyUSBサポートが続いています。
ESP32-S3から始まり、ESP32-C3、ESP32-C6、ESP32-H2に続き、USBのサポートがUSBシリアル/JTAGドライバを使用してデバイスに統合されています。組み込みドライバを使用することでバイナリが小さくなるため、シリアル/JTAGドライバの使用が推奨されます
UARTとUSB接続の両方ができる開発ボードはたくさんあります。
macOSでは、UARTポートに接続すると、デバイスは/dev/cu.usbserial-#####
として認識されます。USBポートに接続すると、/dev/cu.usbmodem-#####
として認識されます。
Espressif IDFはどちらに接続されていてもアプリをインストールします。しかしながら、xsbug
接続はアプリケーションがビルドされた方法でのみ機能します。 例えば、esp32/esp32s3
ターゲット用にアプリをビルドすると、デバッガに接続するためにUARTポートを使用します。esp32/esp32s3_cdc
またはesp32/esp32s3_usb
用にアプリをビルドすると、USBポート経由で接続します。
注意: もし、USBとしてビルドとしていて、UARTポートとして接続していたなら、
xsbug
は接続できないでしょう。
デバイスのmanifest.jsonファイルでは、USE_USB
ビルドオプションがどのUSB実装を使用するかを指定します。また、SDKCONFIGPATH
も指定して、このデバイスに特有のESP-IDF設定ファイルを取得します:
"build": {
"ESP32_SUBCLASS": "esp32s2",
"USE_USB": "1",
"SDKCONFIGPATH": "./sdkconfig"
...
TinyUSBはESP32-S2およびESP32-S3デバイスで動作します。
TinyUSBを使用する場合、UPLOAD_PORT
を設定する必要があります。例えば:
export UPLOAD_PORT=/dev/cu.usbmodem01
ビルドプラットフォームに関するセクションを参照してください macOS, Windows, または Linux で、デバイスの
UPLOAD_PORT
を見つける方法が説明されています。
アプリケーションをビルドします:
mcconfig -d -m -p esp32/esp32s3_usb
注: デバイスがプログラミングモードになっていない場合、ビルドコンソールに通知が表示されます:
# looking for UPLOAD_PORT: /dev/cu.usbmodem01
** Put device in programming mode **
コンソールに Done
と表示されたら、デバイスの Reset ボタンを押します。
Executing "ninja flash"...
Done
デバイスの Reset ボタンを押すと、デバイスが再起動し、xsbug
に接続されます。
これらのうちいくつかデバイスはこの技術を使用します:
プラットフォーム | デバイス |
---|---|
esp32/esp32s3_usb |
Espressif ESP32-S3-DevKitC |
esp32/m5atom_s3 |
M5 Atom S3 |
esp32/m5atom_s3_lite |
M5 Atom S3 Lite |
esp32/qtpys2 |
Adafruit QT Py S2 |
esp32/qtpys3 |
Adafruit QT Py S3 |
esp32/s2mini |
Lolin S2 mini |
esp32/s3_tft_feather |
Adafruit ESP32-S3 TFT Feather |
Note: 注意: この端末の特徴として、プログラミングモードと実行モードのどちらにあるかに応じて、デバイスが異なる/dev/cu.usbmodem-#####として認識される点があります。
例えば、
esp32/esp32s3_usb
のビルドでは、/dev/cu.usbmodem123401
がプログラミングモードとして確認できます。実行モードでは、/dev/cu.usbmodem1234561
となります。 よってDEBUGGER_PORT=/dev/cu.usbmodem1234561
およびUPLOAD_PORT=/dev/cu.usbmodem123401
と設定することで適切な接続が保証されます。
内蔵のSERIAL-JTAGドライバは、ESP32-S3およびESP32-C3デバイスで使用できます。
通常、UPLOAD_PORT
を設定したり、デバイスのボタンを押したりする必要はありません。ただし、複数のデバイスを同時に接続している場合は、UPLOAD_PORT
を使用してどのデバイスを使用するかを指定する必要があります。
アプリケーションをビルドします:
mcconfig -d -m -p esp32/esp32s3_cdc
これらのうちいくつかはデバイスはこの技術を使用します:
プラットフォーム | デバイス |
---|---|
esp32/moddable_six_cdc |
Moddable Six |
esp32/c3_devkit_rust |
Espressif C3 DevKit Rust |
esp32/esp32c3_cdc |
Espressif C3 DevKitM |
esp32/esp32s3_cdc |
Espressif ESP32-S3-DevKitC |
esp32/qtpyc3 |
Adafruit QT Py C3 |
esp32/xiao_esp32c3 |
Seeed Xiao ESP32C3 |
ESP Component Registryは多くのEspressifデバイスのコンポーネントやライブラリを公開しています。
これらのコンポーネントの機能をJavaScriptモジュール公開するモジュールを作成できます。
マニフェストのplatforms
:esp32
セクションにdependency
プロパティを追加します:
"platforms": {
"esp32": {
"dependency": [
{ "name": "onewire_bus", "version": "^1.0.2" }
]
}
}
依存関係からのライブラリおよびインクルードファイルは、自動的にESPレジストリから読み込まれ、プロジェクトで利用可能になります。次に、コンポーネントと連携するネイティブ部分を持つモジュールを作成できます。
onewire module dependency
の示しています。