Skip to content

Partition Table/Option for 16MB flash (and 32MB flash) #6495

Closed
@hamza765

Description

@hamza765

Related area

Board Support

Hardware specification

ESP32-WROVER-B

Is your feature request related to a problem?

I'm trying to flash my wrover-b with a 16MB flash partition, but i can't find any support at all for that. There is a option for (2mb app/12.5mb fat) but i'm using LittleFS, so that won't work. I'm currently stuck using No OTA (1mb app/ 3mb spiffs) which works, but only allows for 25% of my total capacity. Additionally, we have a order of chips coming in soon that will have 32MB total capacity (256Mb) of NOR flash mem. so it'll be even smaller of a ratio

Describe the solution you'd like

A custom board template, partition table, or just a start point for someone completely new to the world of embedded systems. I've googled so much for an answer before coming here as this is a last resort of sorts. I'd make the custom table, but don't really understand the mem address or size on the custom tables i've seen.

Thanks in advance!

Describe alternatives you've considered

No response

Additional context

No response

I have checked existing list of Feature requests and the Contribution Guide

  • I confirm I have checked existing list of Feature requests and Contribution Guide.

Activity

Jason2866

Jason2866 commented on Mar 28, 2022

@Jason2866
Collaborator

For 16MB a partition example. You can change like you want the OTA partitions and
SPIFFS (used for LittleFS)
Just do the hex math
esp32_partition_app2944k_spiffs10M.csv

# Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x2F0000,
app1,     app,  ota_1,   0x300000, 0x2F0000,
spiffs,   data, spiffs,  0x5F0000,0xA10000,
VojtechBartoska

VojtechBartoska commented on Apr 11, 2022

@VojtechBartoska
Contributor

@hamza765 Was the comment above helpful?

hamza765

hamza765 commented on Apr 26, 2022

@hamza765
Author

@VojtechBartoska sort of. I'm confused on the 'hex math' part. I read in another issue that I can just leave the offsets column empty and the device will figure it out for me. So would i just set the spiffs partition to a size of 0xF42400 for a 16M flash? (and 0x1E84800 for 32M?)

lbernstone

lbernstone commented on Apr 26, 2022

@lbernstone
Contributor

You must have the first partition offset to 0x9000. You can just use size past there if you prefer. The total space on a 16M device is 0x1000000. So, 0x1000000 - 0x9000 = 0xFF7000 left. Subtract 0x5000 for the nvs partition leaves 0xFF2000. If you continue for the partitions in Jason2866's example above, you will see that it uses all the space. https://www.calculator.net/hex-calculator.html, but I'm sure you have one on your computer.

hamza765

hamza765 commented on Apr 26, 2022

@hamza765
Author

@lbernstone That explains a lot! Do I need two app partitions? (app0/app1) or can i combine them both into one?

lbernstone

lbernstone commented on Apr 26, 2022

@lbernstone
Contributor

If you want OTA to work, you need two.

hamza765

hamza765 commented on Apr 26, 2022

@hamza765
Author

Okay, good to know. Makes sense that they'd be equal in size. For future proofing, since i have so much space to play with, would giving each app partition like 3MB each be overkill?

lbernstone

lbernstone commented on Apr 26, 2022

@lbernstone
Contributor

No. I'd give the app even more, since you will likely realize that the filesystem is less useful than you think.

13 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Partition Table/Option for 16MB flash (and 32MB flash) · Issue #6495 · espressif/arduino-esp32