Arduino core for the ESP32
はじめに
Arduino IDE にて作成したシステムが動作していたのに、Arduino core for the ESP32のバージョンを[1.0.6]から[2.0.9]にあげると動作しなくなったことについて記載しています。
開発環境
OS : Windows 11 Pro
ESP32:ESP-WROOM-32
統合開発環境 : Arduino IDE 2.1.0
Arduino core for the ESP32:1.0.6 → 2.0.9
使用ライブラリ:なし
使用パーツ
ESP32開発ボード(38Pin)
ESP-WROOM-32
ポチップ
現象再現
スケッチ作成
「ファイル」→「新規スケッチ」で新しいスケッチを作成して、Hello World. を表示するコードを用意します。
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.print("Hello World.");
}
void loop() {
// put your main code here, to run repeatedly:
}
Arduino core for the ESP32 のバージョン確認
ボードマネージャで「esp32」を入力して、2.0.9であることを確認。
動作確認
起動すると、、、以下のエラーを出力して再起動を繰り返します。
assert failed: do_core_init startup.c:326 (flash_ret == ESP_OK)
もちろん[1.0.6]に戻すと正常に動作します。
この現象は、今手持ちのESP32の4つに1つで起きています。原因はわかっていませんが、対処法は2つだと考えます。
対処法
バージョンを[1.0.6]に戻す
これは当たり前ですが、元々動作していたのですからバージョンを戻せば動作します。
Flash Modeを[QIO→DIO]に変更
「ツール」→「FlashMode」→「QIO」を「DIO」に変更すると、動作します。
おわりに
各バージョンで動作させてみると、[2.0.4]以降で発生しているようです。
Arduino core for the ESP32のバージョンが[2.0.3]以下で特に不満のない人は、そのままで良いと思います。
搭載されているFlashが一部のESP32で違うのでしょうか?わかる人がいればご教授お願いします。
コメント
はじめまして
Arduino core for the esp32 動作不具合をWEB検索していて、こちらに立ち寄らせてもらいました。
当方もArduino core for the esp32 2.0.2 以降のバージョンは 動作しないライブラリがいくつか あって 自作卓球マシンの制御には2.0.2を使い続けています。
新しいバージョンがリリースされるたびに、一つ一つ検証していましたが 最近は面倒になり2.0.2のままにすることにしました。
コメントありがとうございます。
新しいバージョンが公開されるとついついあげてしまいますが、何かと問題が発生しますよね。。
特にESP32のようなマイナーなものは情報も少ないので、バージョンをあげる必要がない場合は、上げないほうが無難な気がします。
自作卓球マシン。ワクワクするものを作ってらっしゃいますね!!
自分好みに安価で作れるのでESP32は魅力を感じます!