Moderator: igrr
Now, I am making a UI application and I want to keep the palette information for various BMPs in the PROGMEM as a performance optimization. So, the 1MB limitation further limits my options.
If I use SPIFFS, compared to PROGMEM APIs, will the latency to read byte by byte from a file be the same ? If yes, then I don't mind having the 1MB limit.
Anyhow, as others mentioned, it would be quite good to have control over the code section. But if it is not possible to split the code into multiple 1MB segments, there is no point in discussing further ?
stanzlavos wrote:<...>
Anyhow, as others mentioned, it would be quite good to have control over the code section. But if it is not possible to split the code into multiple 1MB segments, there is no point in discussing further ?
Per igrr:
The reason code space is limited to the first 1M is that only 1M of flash may be mapped into CPU address space at a time. Therefore for modules with flash chip size above 1M, we keep lower 1M for code and everything above that for file system.
So, the ESP flash for Arduino code is a total of 1M max. If you want OTA, you will only have 50% of the 1M flash usable with Arduino. One 'maybe' able to craft a non-SPIFFS OTA using the 3M flash, but I have not seen an example of this creative approach... say, like an FTP into the SPIFFS flash and a "Bluebie virual bootloader" to move the binary received into the Arduino flash area.
Ray