-
Notifications
You must be signed in to change notification settings - Fork 7.7k
ESP32 programming: does flash size matter? #6473
-
We are developing for ESP32-WROOM-32UE. I noticed Arduino core assumes a flash size of 4MB. What happens if I try to program an 8 or 16MB version? Will that cause issues later with OTA updates?
IDE: VSCode with PIO
framework = arduino
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip
Beta Was this translation helpful? Give feedback.
All reactions
Arduino core does not assume an flash size. The real flash size is patched (from esptool.py) in the magic header of the bootpartition.bin file when flashed. The flash partioning is defined via the partition.csv
(you can define yourself, the ready made ones are just suggestions).
As long two App partitions exists in the partition.csv and the are big enough to store the firmware every device (no matter of flash size) can be updated via OTA.
For project Tasmota we have a partition manager script which (can be loaded at runtime) and change the partition size. So we can provide firmwares with a partition scheme for 4M flash usage. This firmware can be flashed on every device with 4MB and all d...
Replies: 1 comment 2 replies
-
Arduino core does not assume an flash size. The real flash size is patched (from esptool.py) in the magic header of the bootpartition.bin file when flashed. The flash partioning is defined via the partition.csv
(you can define yourself, the ready made ones are just suggestions).
As long two App partitions exists in the partition.csv and the are big enough to store the firmware every device (no matter of flash size) can be updated via OTA.
For project Tasmota we have a partition manager script which (can be loaded at runtime) and change the partition size. So we can provide firmwares with a partition scheme for 4M flash usage. This firmware can be flashed on every device with 4MB and all devices with more flash. With the partition manager the unused flash space (for >=8MB devices) can be assigned to the 2 App partitions and the spiffs storage partition
Beta Was this translation helpful? Give feedback.
All reactions
-
I think I understood everything except
With the partition manager the unused flash space (for >=8MB devices) can be assigned to the 2 App partitions and the spiffs storage partition
But it sounds like I can safely flash a 4MB (default) partition scheme to a 8MB device, and OTA will still work. Is that correct?
Beta Was this translation helpful? Give feedback.
All reactions
-
I think I understood everything except
With the partition manager the unused flash space (for >=8MB devices) can be assigned to the 2 App partitions and the spiffs storage partition
But it sounds like I can safely flash a 4MB (default) partition scheme to a 8MB device, and OTA will still work. Is that correct?
Yes, correct
Beta Was this translation helpful? Give feedback.