Skip to content

espressif32: incorrect offset calculation for spiffs #1178

@EFeru

Description

@EFeru

Apparently if the Offset is left blank in partitions.csv, Platformio does not calculate corectly the offset making the ESP32 spiffs not possible to mount.

My platformio.ini

[env]
platform = [email protected]
board = esp32dev
framework = espidf
platform_packages = framework-espidf
upload_speed = 921600
monitor_speed = 115200
monitor_raw = true
board_build.partitions = partitions.csv

partitions.csv

# Name,   Type, SubType, Offset, Size,    Flags
nvs,      data, nvs,     0x9000, 0x6000,
phy_init, data, phy,     0xf000, 0x1000,
factory,  app,  factory,       , 1500K,
storage,  data, spiffs,        , 2M,

Platformio decides to write to

Flash will be erased from 0x00190000 to 0x0038ffff...

However,

> hex(0xf000+0x1000 + (1500*1024))
0x187000

So, if I explicitly specify the offset, i.e.,:

# Name,   Type, SubType, Offset, Size,    Flags
nvs,      data, nvs,     0x9000, 0x6000,
phy_init, data, phy,     0xf000, 0x1000,
factory,  app,  factory,       , 1500K,
storage,  data, spiffs,  0x187000, 2M,

Then the spifss mounts successfuly. See more details on this topic at this link:
https://community.platformio.org/t/esp32-esp-idf-cannot-increase-spifss-and-app-memory/35496/7

Edit: I am not sure if there is an issue also for other offset calculations. Maybe is good to double check. Thanks for your efforts!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions