1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ESP32S3の16MB品を使用する際における注意事項

Posted at

ESP32S3(ESP32-S3-WROOM-1-N16R8)に対してカスタムパーティションテーブルを使用した時に、リセットを繰り返すトラブルが発生したので、その対処方法を記録します。

背景

FLASH ROMが16MBあるので、ESP32 Partition Builderを用いて、下記のようなカスタムパーティションテーブルを作成しました。16MBを最後までしっかり使っています。

custom_partition.csv
# Name,   Type, SubType, Offset,  Size, Flags
nvs,data,nvs,0x9000,0x5000,
otadata,data,ota,0xE000,0x2000,
app0,app,ota_0,0x10000,0x700000,
app1,app,ota_1,0x710000,0x700000,
spiffs,data,spiffs,0xE10000,0x1E0000,
coredump,data,coredump,0xFF0000,0x10000,

platform.iniにて、custom_partition.csvを設定します。

platformio.ini
[env:esp32s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = custom_partition.csv

しかし、この設定でバイナリを書き込んだところ、下記ログを出力してリセットを繰り返すようになってしまいました。

rst:0x3 (RTC_SW_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403cdb0a
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x4bc
load:0x403c9700,len:0xbd8
load:0x403cc700,len:0x2a0c
entry 0x403c98d0

原因と対策

platformio.iniに、FLASH ROMのサイズを指定していなかったことが要因です。
board設定がesp32-s3-devkitc-1の場合、デフォルトでは8MB品として扱われるようで、パーティション情報が正しく書き込まれていませんでした。
board_upload.flash_sizeにて16MBであることを明示したところ、リセット現象は解消されました。

[env:esp32s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = custom_partition.csv
board_upload.flash_size = 16MB
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?