Do ROM updates exist for the ESP32?
Posted: Fri Nov 15, 2024 4:04 pm
I have run into a brick wall with the infamous PSRAM bug again.
My firmware uses PSRAM to store fonts, which are loaded from compressed files on SPIFFS.
To reduce the firmware size, I used the miniz functions available in the ROM.
However here comes the fun part — I load the file temporarily into PSRAM, because it's too big for the main RAM. Then I unpack it into the PSRAM too, because the raw font is even bigger.
While the compiler in the toolchain knows about the PSRAM issue and works around it, I presume the ROM in the silicon was made before the bug was known, so it fails to decompress the files (I get a -3 buf error from miniz).
Adding my own `memw` before and after each call to the ROM seems to have the loading fail once, but succeed upon retry, however that is not very stable.
Is it possible to somehow update the ROM in the Rev 0 ESP32 to work around the issue in the miniz functions? I would like to avoid just importing an external miniz implementation for flash space reasons
My firmware uses PSRAM to store fonts, which are loaded from compressed files on SPIFFS.
To reduce the firmware size, I used the miniz functions available in the ROM.
However here comes the fun part — I load the file temporarily into PSRAM, because it's too big for the main RAM. Then I unpack it into the PSRAM too, because the raw font is even bigger.
While the compiler in the toolchain knows about the PSRAM issue and works around it, I presume the ROM in the silicon was made before the bug was known, so it fails to decompress the files (I get a -3 buf error from miniz).
Adding my own `memw` before and after each call to the ROM seems to have the loading fail once, but succeed upon retry, however that is not very stable.
Is it possible to somehow update the ROM in the Rev 0 ESP32 to work around the issue in the miniz functions? I would like to avoid just importing an external miniz implementation for flash space reasons