Home icon indicating copy to clipboard operation
Home copied to clipboard

Add support for ESP32 with 32MB flash

Open mikeobrien opened this issue 2 years ago • 5 comments

Description

I just picked up an ESP32­-S3­-DevKitC-1 with 32MB flash from adafruit and when I go to flash the ESP32-S3 target I get the following error:

There is no firmware available for ESP32 with 32MB flash size!
Only the following flash sizes are supported: 2MB, 4MB, 8MB, 16MB
Error E4001: Unsupported flash size for ESP32 target.

Also, if you you don't specify -v d you only get the following error which can be confusing:

E4001

How to solve the problem

  • Add support to the ESP32_S3 target for 32MB flash.
  • Display the full error message in normal verbosity.

Describe alternatives you've considered

  • Buy a 16MB version.
  • Specify detailed verbosity.

Aditional context

No response

mikeobrien avatar Aug 12 '23 20:08 mikeobrien

Yes, support for this memory size can be added. FYI you won't be able to use it completely as the larger sizes require bank switching to address the upper addresses which is something we don't have any plans to support.

josesimoes avatar Sep 01 '23 11:09 josesimoes

I'll include this change with the idf 5.1.1 update

AdrianSoundy avatar Sep 11 '23 02:09 AdrianSoundy

At risk of asking a dumb q, is this support dependent upon issue 1345? New to area, but curious if this issue marked as trivial is gated by the issue marked as non-trivial.. deciding whether to buy a 16MB board or wait. :D

pracsol avatar Oct 06 '23 19:10 pracsol

@pracsol answering the fundamental question there: go for the 16M. Over that size it's useless as it requires bank switching to access it. Not practical nor implemented in nanoFramework. 😉

josesimoes avatar Oct 07 '23 00:10 josesimoes

Please confirm fixed. @AdrianSoundy.

networkfusion avatar May 09 '24 21:05 networkfusion

Currently not fixed. The S3 target currently supports up to 16Mb flash.

I think the bank switching was to do with PSRAM not flash. @josesimoes I have noticed with S3 targets you get 8Mb psram when available were this was limited to 4MB in esp32

Out of interest I looked this up for psram

  • esp32 max 4MB
  • esp32S2 max 10.5MB
  • esp32S3 max 32MB

So I don't think the same problem on ESP32 exists with ESP32 S3, I'll test this on the 16Mb partition layout

  • Having deployment area of 7MB seems to work ok. 8MB seems to have problems on deploy/erase (maybe a timeout)

  • With Spiffs partition created partition of 10MB for testing

  • Was able to create file of 8MB and read back ok, spiffs can only fill to 75% of partition.

AdrianSoundy avatar Jun 08 '24 03:06 AdrianSoundy