「esp_core_dump_flash: No core dump partition found!」というエラーが起動時に表示されてしまう問題の解決方法.

Pocket

 

(2024-10-17 追記: いただいたコメントの内容を本文に追記しました.)

 

Freenove ESP32-S3-WROOM CAM ボード
Freenove ESP32-S3-WROOM CAM ボード (Arduino IDE 互換)、オンボード カメラ ワイヤレス、Python C コード、詳細なチュートリアル、サンプル プロジェクト | Freenove | ベアボーンPC 通販 https://www.amazon.co.jp/dp/B0BMQ8F7FN/ref=as_li_ss_shr?&linkCode=shr&tag=amazonoike-22



Freenove の「ESP32-S3-WROOM CAM ボード」を購入した.
「ESP32-WROVER CAMボード」のほうが少しだけ安いのだけど,こっちは microSDカードスロットがないとの噂があるので,実際のところはどうなのかはわからないけれど,ESP32-S3 のほうにした.
ちょっと思うところあって,SDカード読み書きを勉強というか,自分の理解を再確認したい.

 

チュートリアルにあるサンプルコードの「Sketch_17.1_CameraWebServer」が立派な Webアプリになっていて,これを書き込むだけでブラウザ越しに使える UI のあるワイヤレス Webカメラとして使える.
単なるワイヤレスカメラとして使うのだったら,私がやることはほとんどないわー.
とりあえず,Wi-Fi の接続を定期的にチェックして,接続が切れていたら自動的に再接続するコードを足しておしまい.
ほかにもいろいろと勉強(再確認)するんだー.

 

起動時に


E (nnn) esp_core_dump_flash: No core dump partition found!

というエラーが出てしまうのを解決するのに少し手こずったので,未来の自分のためにメモ書きしておきます.
これは,[Tools] -> [Partition Scheme] の設定をどうこうしても消えない.
要は,エラーメッセージのとおりで,core dump するためのパーティションを作れば解決します.

パーティションの設定は簡単で,Sketch_17.1_CameraWebServer に入っている partitions.csv を次のように書き換えればよいです.

 

書き換え前:

# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x20000,

 

書き換え後:

# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
# fr, data, , 0x3e0000, 0x20000,
fr, data, , 0x3e0000, 0x1ff00,
coredump, data, coredump, 0x3fff00, 0x100,

(2024-10-17 追記)
lzpel さんからコメントをいただきまして,いつの頃からかパーティションのアライン単位が 0x100 から 0x1000 に変わっているようです.
もし,上に記した「書き換え後」のパーティション設定で
「Partition coredump invalid: Offset 0x3fff00 is not aligned to 0x1000」
というエラーが出てしまうときは,

# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x3d0000,
fr, data, , 0x3e0000, 0x1f000,
coredump, data, coredump, 0x3ff000, 0x1000,

というふうに,0x1000 単位でパーティションを区切るとよいそうです.
コメントをくださって,どうもありがとうございました!

(2024-10-17 追記,ここまで)

 

coredumpパーティションのサイズに合わせて,直前の frパーティションのサイズを縮めるのが肝です.

partitions.csv を書き換えたら,スケッチのコンパイル & 書き込みをすれば,次回の起動時から「core dump 用のパーティションがない」というエラーは表示されなくなります.

この問題の解決には,次の URL の情報が大変役立ちました.ありがとうございました.

「M5stack core3でのカメラ操作 #PlatformIO – Qiita」
https://qiita.com/yutaka_m/items/0ae5cfe342c59db28338

「ESP32-CAM esp_core_dump_flash – Using Arduino / Microcontrollers – Arduino Forum」
https://forum.arduino.cc/t/esp32-cam-esp-core-dump-flash/1074812/54?page=3

 

 

 

==

 

Pocket