中国語版
ESP-IDF は、Windows、Linux、macOS でサポートされる Espressif SoC の開発フレームワークです。
ESP-IDF バージョンの詳細については、サポート ポリシーとドキュメントをお読みください。
サポートが終了した ESP-IDF リリースについては、サポート終了アドバイザリを参照してください。
次の表は、Espressif SoC の ESP-IDF サポートを示しています。 と はそれぞれプレビュー ステータスとサポートを示します。プレビュー サポートは通常、期間が限られており、チップのベータ版を対象としています。目的の SoC がすでにサポートされている ESP-IDF リリースを使用してください。
チップ | v5.0 | v5.1 | v5.2 | v5.3 | v5.4 | |
---|---|---|---|---|---|---|
ESP32 | ||||||
ESP32-S2 | ||||||
ESP32-C3 | ||||||
ESP32-S3 | 発表 | |||||
ESP32-C2 | 発表 | |||||
ESP32-C6 | 発表 | |||||
ESP32-H2 | 発表 | |||||
ESP32-P4 | 発表 | |||||
ESP32-C5 | 発表 | |||||
ESP32-C61 | 発表 |
一連のチップにはさまざまなリビジョンが存在します。 ESP-IDF とチップ リビジョン間の互換性の詳細については、「ESP-IDF リリースと Espressif SoC のリビジョン間の互換性」を参照してください。
2016 年より前にリリースされた Espressif SoC (ESP8266 および ESP8285) は、代わりに RTOS SDK によってサポートされます。
使用するチップに応じて ESP-IDF をセットアップする方法の詳細な手順へのリンクについては、https://idf.espressif.com/ を参照してください。
注:各 SoC シリーズおよび各 ESP-IDF リリースには、独自のドキュメントがあります。ドキュメントの検索方法と ESP-IDF の特定のリリースをチェックアウトする方法については、「バージョン」セクションを参照してください。
ESP-IDF は、サブモジュール URL (.gitmodules) として相対的な場所を使用します。したがって、GitHub にリンクします。 ESP-IDF が GitHub 上にない Git リポジトリにフォークされた場合は、git clone の後にスクリプト tools/set-submodules-to-github.sh を実行する必要があります。
スクリプトはすべてのサブモジュールの絶対 URL を設定し、 git submodule update --init --recursive
完了できるようにします。 GitHub から ESP-IDF をクローンする場合、この手順は必要ありません。
「はじめに」で説明した esp-idf-template プロジェクトと同様に、ESP-IDF には、example ディレクトリにいくつかのサンプル プロジェクトが付属しています。
作業したいプロジェクトを見つけたら、そのディレクトリに移動すると、それを構成してビルドできます。
サンプルに基づいて独自のプロジェクトを開始するには、サンプル プロジェクト ディレクトリを ESP-IDF ディレクトリの外にコピーします。
詳細なセットアップ ガイドについては、上記の入門ガイドのリンクを参照してください。これは、ESP-IDF プロジェクトを使用する場合の一般的なコマンドのクイック リファレンスです。
(必要な手順の完全なリストと詳細については、上記の「スタート ガイド」を参照してください。)
スタート ガイドに記載されているホスト ビルドの依存関係をインストールします。
インストール スクリプトを実行してビルド環境をセットアップします。オプションには、Windows の場合はinstall.bat
またはinstall.ps1
、Unix シェルの場合はinstall.sh
またはinstall.fish
が含まれます。
ESP-IDF を使用する前に、すべてのシェル環境で Windows でエクスポート スクリプトを実行するか ( export.bat
)、Unix でエクスポート スクリプトを実行します ( source export.sh
)。
idf.py set-target <chip_name>
プロジェクトのターゲットを<chip_name>
に設定します。引数を指定せずにidf.py set-target
を実行すると、サポートされているターゲットのリストが表示されます。
idf.py menuconfig
プロジェクトを構成できるテキストベースの構成メニューを開きます。
idf.py build
...アプリ、ブートローダーをコンパイルし、構成に基づいてパーティション テーブルを生成します。
ビルドが完了すると、esptool.py を使用してチップをフラッシュするためのコマンド ラインが出力されます。ただし、次を実行してこれを自動的に行うこともできます。
idf.py -p PORT flash
PORT をシリアル ポートの名前 (Windows のCOM3
、Linux の/dev/ttyUSB0
、MacOS の/dev/cu.usbserial-X
など) に置き換えます。 -p
オプションが省略されている場合、 idf.py flash
最初に使用可能なシリアル ポートをフラッシュします。
これにより、プロジェクト全体 (アプリ、ブートローダー、パーティション テーブル) が新しいチップにフラッシュされます。シリアル ポートのフラッシュ設定はidf.py menuconfig
で構成できます。
idf.py flash
実行する前にidf.py build
実行する必要はありません。idf.py idf.py flash
必要なものを自動的に再構築します。
idf.py monitor
ターゲットは、esp-idf-monitor ツールを使用して、Espressif SoC からのシリアル出力を表示します。 esp-idf-monitor には、クラッシュ出力をデコードしてデバイスと対話するためのさまざまな機能もあります。詳細については、ドキュメントページを確認してください。
Ctrl-] を押してモニターを終了します。
1 回のパスで出力をビルド、フラッシュ、監視するには、次を実行できます。
idf.py flash monitor
最初のフラッシュの後は、ブートローダーやパーティション テーブルではなく、アプリのみをビルドしてフラッシュすることもできます。
idf.py app
- アプリのみをビルドします。
idf.py app-flash
- アプリのみをフラッシュします。
idf.py app-flash
ソース ファイルが変更された場合にアプリを自動的に再構築します。
(通常の開発では、ブートローダーとパーティション テーブルが変更されていない場合、毎回再フラッシュしても問題はありません。)
idf.py flash
ターゲットはフラッシュの内容全体を消去しません。ただし、特にパーティション テーブルの変更や OTA アプリの更新を行う場合には、デバイスを完全に消去された状態に戻すと便利な場合があります。フラッシュ全体を消去するには、 idf.py erase-flash
実行します。
これは他のターゲットと組み合わせることができます。つまり、 idf.py -p PORT erase-flash flash
すべてを消去してから、新しいアプリ、ブートローダー、およびパーティション テーブルを再フラッシュします。
最新バージョンのドキュメント: https://docs.espressif.com/projects/esp-idf/。このドキュメントは、このリポジトリの docs ディレクトリから構築されています。
ESP-IDF の主要な概念とリソースに関する初心者ガイド
esp32.com フォーラムは、質問したり、コミュニティ リソースを見つけたりするための場所です。
バグを見つけた場合や機能リクエストがある場合は、github の問題セクションを確認してください。新しい問題を開く前に、既存の問題を確認してください。
ESP-IDF への貢献に興味がある場合は、貢献ガイドを確認してください。