ESP-IDF は、ESP32 チップの公式開発フレームワークです。
ESP-IDF をセットアップする詳細な手順については、セットアップ ガイドを参照してください。
セットアップ ガイドで説明されている esp-idf-template プロジェクトと同様に、ESP-IDF には、example ディレクトリにいくつかのサンプル プロジェクトが付属しています。
作業したいプロジェクトを見つけたら、そのディレクトリに移動すると、それを構成してビルドできます。
make menuconfig
?
ヘルプ画面を表示します。 Enter キーを押すとヘルプ画面が終了します。[*]
」のある構成項目を有効 (Yes) または無効 (No) にするには、スペース キー、またはY
およびN
キーを使用します。?
押す構成項目を強調表示すると、その項目に関するヘルプが表示されます。/
を入力して構成項目を検索します。設定が完了したら、Esc キーを複数回押して終了し、プロンプトが表示されたら「はい」と言って新しい設定を保存します。
make all
...アプリ、ブートローダーをコンパイルし、構成に基づいてパーティション テーブルを生成します。
make all
が完了すると、esptool.py を使用してチップをフラッシュするためのコマンド ラインが出力されます。ただし、次のコマンドを実行して make からこれを実行することもできます。
make flash
これにより、プロジェクト全体 (アプリ、ブートローダー、パーティション テーブル) が新しいチップにフラッシュされます。シリアルポートのフラッシュ設定はmake menuconfig
で行うことができます。
make flash
実行する前にmake all
実行する必要はありません。make make flash
必要なものを自動的に再構築します。
make monitor
ターゲットは、すでにインストールされている miniterm (pyserial の一部) を使用して、ESP32 からのシリアル出力をターミナル コンソールに表示します。
Ctrl-] を押して miniterm を終了します。
1 回のパスで出力をフラッシュして監視するには、次を実行できます。
make flash monitor
最初のフラッシュの後は、ブートローダーやパーティション テーブルではなく、アプリのみをビルドしてフラッシュすることもできます。
make app
- アプリのみを構築します。make app-flash
- アプリだけをフラッシュします。 make app-flash
必要に応じてアプリを自動的に再構築します。
(通常の開発では、ブートローダーとパーティション テーブルが変更されていない場合、毎回再フラッシュしても問題はありません。)
ESP-IDF は複数のファイルの並列コンパイルをサポートしているため、上記のコマンドはすべてmake -jN
として実行できます。ここで、 N
実行する並列 Make プロセスの数です (通常、N は CPU コアの数と同じか、それより 1 つ多くする必要があります)システム内で。)
複数の make 関数を 1 つに組み合わせることができます。例: 5 つのジョブを並行して使用してアプリとブートローダーをビルドし、すべてをフラッシュして、ESP32 からのシリアル出力を表示するには、次のコマンドを実行します。
make -j5 flash monitor
プロジェクトをコンパイルすると、「build」ディレクトリに「my_app.bin」のような名前のバイナリ ファイルが含まれます。これは、ブートローダーによってロードできる ESP32 イメージ バイナリです。
単一の ESP32 のフラッシュには、複数のアプリだけでなく、さまざまな種類のデータ (キャリブレーション データ、ファイル システム、パラメータ ストレージなど) を含めることができます。このため、パーティション テーブルはフラッシュ内のオフセット 0x4000 にフラッシュされます。
パーティション テーブルの各エントリには、名前 (ラベル)、タイプ (アプリ、データ、またはその他)、サブタイプ、およびパーティションがロードされるフラッシュ内のオフセットがあります。
パーティション テーブルを使用する最も簡単な方法は、 make menuconfig
、単純な事前定義されたパーティション テーブルの 1 つを選択することです。
どちらの場合も、工場出荷時のアプリはオフセット 0x10000 でフラッシュされます。 make partition_table
と、パーティション テーブルの概要が出力されます。
パーティション テーブルとカスタム バリエーションの作成方法の詳細については、 docs/partition-tables.rst
ファイルを参照してください。
make flash
フラッシュの内容全体が消去されるわけではありません。ただし、特にパーティション テーブルの変更や OTA アプリの更新を行う場合には、デバイスを完全に消去された状態に戻すと便利な場合があります。フラッシュ全体を消去するには、 make erase_flash
を実行します。
これは他のターゲットと組み合わせることができます。つまり、 make erase_flash flash
すべてを消去してから、新しいアプリ、ブートローダー、およびパーティション テーブルを再フラッシュします。
最新バージョンのドキュメント: http://esp-idf.readthedocs.io/。このドキュメントは、このリポジトリの docs ディレクトリから構築されています。
esp32.com フォーラムは、質問したり、コミュニティ リソースを見つけたりするための場所です。
バグを見つけた場合や機能リクエストがある場合は、github の問題セクションを確認してください。新しい問題を開く前に、既存の問題を確認してください。
ESP-IDF への貢献に興味がある場合は、貢献ガイドを確認してください。