[ESP32]Arduino core for the ESP32のバージョンを上げると動作しなくなったことについて

ArduinoIDE

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
使用ライブラリ:なし

現象再現

スケッチ作成

「ファイル」→「新規スケッチ」で新しいスケッチを作成して、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で違うのでしょうか?わかる人がいればご教授お願いします。

コメント

  1. ΦΦ より:

    はじめまして
    Arduino core for the esp32 動作不具合をWEB検索していて、こちらに立ち寄らせてもらいました。

    当方もArduino core for the esp32 2.0.2 以降のバージョンは 動作しないライブラリがいくつか あって 自作卓球マシンの制御には2.0.2を使い続けています。

    新しいバージョンがリリースされるたびに、一つ一つ検証していましたが 最近は面倒になり2.0.2のままにすることにしました。

    • farmsoft より:

      コメントありがとうございます。

      新しいバージョンが公開されるとついついあげてしまいますが、何かと問題が発生しますよね。。
      特にESP32のようなマイナーなものは情報も少ないので、バージョンをあげる必要がない場合は、上げないほうが無難な気がします。

      自作卓球マシン。ワクワクするものを作ってらっしゃいますね!!
      自分好みに安価で作れるのでESP32は魅力を感じます!

タイトルとURLをコピーしました