ESP-IDF ( ESP32 開発環境 ) の使い方

スポンサーリンク

6.コンパイルオプションメニュー設定

コンパイルする前に、コンパイルオプションを設定します。

まず、ESP32 開発ボード ( ESP-DevKitC , ESPr Developer 32 など )をパソコンとUSB接続します。
次にMSYS2 ( mingw64.exe または mingw32.exe )を再起動し、cd コマンドを以下のように入力して、blink フォルダに移動します。

cd /d/msys32/home/User-Name/blink

ESP-IDF84

次に

make menuconfig

と入力します。
Enter を押すと、下図の様に make コマンドが走り始まればOKです。

ESP-IDF85

しばらく経つとコンパイル設定メニューが表示されます。

ESP-IDF_25

キーボードの矢印カーソルキー[↓] を押して、下図の様に Serial Flasher config を選びます。

ESP-IDF_25-1

すると、下図の様な画面になりますので、Default serial port をセレクトしてEnterします。

ESP-IDF_25-2

すると、下図の様な画面になります。

ESP-IDF_25-3

ここで、Windows10 画面のタスクバーにあるWindowロゴを右クリックして、タスクマネージャーを起動します。

ESP-IDF_25-4

デバイスマネージャーを開いたら下図の様にポート(COM と LPT) をクリックすると、ESP32-DevKitC の USB COMポート番号が分かります。
ここでは3番です。

ESP-IDF_25-5

そうしたら、MSYS2 コマンドライン画面に戻り、下図の様に番号を書き換えてOKをEnterします。
Windows の場合、COM3 という形に書き換えます。
Mac の場合 /dev/cu.3 という形式らしいです。
その後、OKしてください。

ESP-IDF_25-6

そうしたら、[Esc]キーを2回連続で押すことを、何回か繰り返すと、元の画面に戻ります。

元の画面に戻ったら、キーボードの矢印カーソルキーの[↓]を押して、例えば下図のように、Example Configuration へカーソルを移動させます。
ESP-IDF_26

そこで、下の部分が <Select>にカーソル(青くなっている)ことを確認して、Enter を押します。
(矢印キーの [←] や [→] を押すとカーソルが移動します)

そうすると下図の様に Example Configuration メニューの中に入れます。

ESP-IDF_27

もう一度 Enter を押すと下図の様な画面になります。

ESP-IDF_28

ここで、LED を接続するところを GPIO #5 から #23 へ変更してみます。
ESP-IDF_29

そうしたら Enter を押します。

キーボードのEsc キーを2回連続で押すと、一つ前の画面に映ります。

そして、最初の画面まで行ったら、次に ESP32 の CPU クロック周波数を設定してみます。
LED 点滅程度ではデフォルトのままでもいいのですが、ここではあえて設定してみます。

下図の様に Component config を選択します。

ESP-IDF_30

下図の画面でもう一度 Enter します。

ESP-IDF_31

そして、下図の画面でもう一度 Enter します。

ESP-IDF_32

すると、下図の様な画面になるので、カーソルキーの[↓] を押して、240MHz の最速にして Enter キーを押すと決定になります。

ESP-IDF_33

その後、下図の画面になり、240MHz にセレクトされていることが確認できます。
ESP-IDF_34

次に、矢印カーソルキー[→] を押して、<Save>をセレクトして設定を保存します。
GPIO 設定と共に、今まで設定したものが保存されます。

ESP-IDF_35

すると、下図の画面になるので、OKをEnter します。

ESP-IDF_36

次に下図のように保存100% になった旨の画面が出るので Exit します。

ESP-IDF_37

ひたすら<Exit>していくか、[Esc] キーを2回連続で押していくと、menuconfig 画面が閉じ、設定ファイルがmake されてMSYS2コマンドウィンドウに戻ります。
カーソルが現れるまで、しばらく時間がかかります。1分くらいでしょうか。

ESP-IDF_38

これでコンパイルオプション設定完了です。

7.コンパイル書き込み

では、いよいよ、ESP32-DevKitC や ESPr Developer 32 などの開発ボードのフラッシュにコンパイル書き込みしていきます。

下図の様に

make flash

というコマンドを入力してEnter します。
(ここで注意!! flush と間違えないように!!私は何度もやらかしました)

ESP-IDF_39

するとコンパイルが始まり、コンパイル終了後、自動的に ESP32 へ書き込みします。
今回の場合、転送速度は 115200bps です。
思ったより時間がかかります。
2~3分丸々かかります。
あまりにも早く終わったら何かしらエラーがあります。
気長に待ってください。

たかが Lチカプログラムのコンパイルなのに、何でこんなに時間がかかるのかと不思議に思うかもしれません。
恐らく、全てのライブラリもコンパイルしているからだろうと思われます。
Arduino IDE ならば直ぐにコンパイル終わります。
でも、Arduino IDE も ESP-IDF でコンパイルしたライブラリを使っているのです。
つまり、ESP32用の Arduino は、ESP-IDF で作られたものと言っても過言ではありません。

手軽に操作したければ、Arduino core for ESP32。
全ての機能と、ライブラリを自分の好きな設定でコンパイルしたければ ESP-IDF と言った感じですね。

というわけで、書込み成功したらこんな感じになります。

ESP-IDF_40

実際にLED がチカチカ点滅していればOKです。

ESP-IDF_52

以上、ESP-IDF の使い方でした。
Arduino IDE に比べてかなり面倒ですね。
ネット上に様々な方々が記事にされていますが、イマイチ分からないところがあったので、今回は自分で記事にしてみました。

その他、参考にさせていただいたサイトは以下の通りです。
情報ありがとうございました。
m(_ _)m

rukihenaさん
ESP32(ESP-WROOM-32)でLチカ (WindowsでESP-IDF使用)

T-YOSHさん
WROOM-32 セットアップ

mgo-tec電子工作 関連コンテンツ ( 広告含む )

スポンサーリンク

Amazon.co.jp
mgo-tec電子工作ブログ管理人おすすめ

「ESP-IDF ( ESP32 開発環境 ) の使い方」への2件のフィードバック

  1. mgo-tec 様

    ESP-IDFの使い方にチャレンジしてみました。
    「書込み成功したらこんな感じになります。」の所まで何とかたどり着いたのですが、Lチカ点滅には至りませんでした。
    最後の行に下記のメッセージが出ていますが素人の私にはまったく解読できません。何かコメントをいただけると幸いです。
    make[1]: *** [/home/name/my-esp-idf/esp-idf/make/prpject.mk-387 /c/msys32/home/blink/build/bootloader/bootloader.elf] エラー 1
    make *** [/home/name/my.esp-idf/esp-idf/components/bootloader/Makefile.projbuild:40: /c/msys32/home/blink/build/bootloader/bootloader.bin] エラー 2

    1. juchangさん

      お返事おそくなりすみません。
      検証するのに時間がかかってしまいました。

      しばらく IDF を使っていなかったので分かりませんでした。
      ツールチェーンを最新版にしたら make が全くできませんでした。

      いろいろ試したところ、Espressif Systems の ESP-IDF設定ページにあるように、homeフォルダの中にあるユーザーフォルダ内にespフォルダやプロジェクトフォルダを入れないとうまく動作しないことがわかりました。

      それと、64bitパソコンでも、mingw32.exe を使うことです。
      これは今分かったことです。

      ということで、記事も書き換えましたので、ご参照いただき、再度試してみて下さい。
      これでも動作しない場合はまたご連絡いただけると助かります。

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください