Closed ascillato closed 1 month ago
I think I found what is causing this issue.
One of the changes of 6.7.0, that differs from 6.6.0, is in espidf.py file:
preserve_source_file_extension = board.get(
"build.esp-idf.preserve_source_file_extension", True
)
I changed it back to False
, as 6.6.0 has, and now it works fine.
Knowing this, I tried to add to platformio.ini the line:
board_build.esp-idf.preserve_source_file_extension = no
But seems that it is being overrided by espidf.py and the issue persists. I have to change the espidf.py file in order to make the firmware to work.
@valeros Why this change in 6.7.0 is affecting the compiled firmware which leaves the CPU cache disabled?
Hi @ascillato, thanks for reporting. I've reproduced the issue, please stick to v6.6.0 until I figure out the underlying reason.
@ascillato this issue should be fixed in the latest framework-espidf
package, please pull the latest changes via pio pkg update -g -p espressif32
command.
@valeros
Hi, thanks for the fast response!
Updating to new 6.7.0 fixes the issue!!!!!!!
Thanks!!!!! Very appreciated.
$ pio pkg update -g -p espressif32
Platform Manager: espressif32@2024.4.12 is already up-to-date
Tool Manager: framework-arduinoespressif32@3.0.0+sha.11140aa is already up-to-date
Tool Manager: tool-esptoolpy@4.7.2 is already up-to-date
Tool Manager: tool-mkfatfs@2.0.1 is already up-to-date
Tool Manager: tool-mklittlefs@3.2.0 is already up-to-date
Tool Manager: tool-ninja@1.7.1 is already up-to-date
Tool Manager: tool-openocd-esp32@2.1100.20220706 is already up-to-date
Tool Manager: tool-riscv32-esp-elf-gdb@12.1.0+20221002 is already up-to-date
Tool Manager: tool-xtensa-esp-elf-gdb@12.1.0+20221002 is already up-to-date
Tool Manager: toolchain-esp32ulp@1.23500.220830 is already up-to-date
Tool Manager: toolchain-riscv32-esp@12.2.0+20230208 is already up-to-date
Tool Manager: toolchain-xtensa-esp32@12.2.0+20230208 is already up-to-date
Tool Manager: toolchain-xtensa-esp32s3@12.2.0+20230208 is already up-to-date
After pio pkg update -g -p espressif32
command, it said that it is up to date but the resulting firmware (clean and build) continued to crash.
So, I just removed all framework-espidf
and espressif32
folders inside .platformio
folder. PIO downloaded all that again and now I have the latest 6.7.0 which works great!
Thanks!!!
EDIT: As I'm using platform = espressif32@6.7.0
in platformio.ini maybe I needed to use pio pkg update -g -p espressif32@6.7.0
. Well, I just removed all folders and worked fine. I just leave the comment here for anyone interested.
@valeros
Just to learn, what was the issue? What changed? Can you link to the commit that fixed this? Thanks.
Our package was missing the patch from the commit https://github.com/espressif/esp-idf/commit/bd56ca48be81763872d1562822b94843eed12fdc.
It looks like build https://registry.platformio.org/platforms/platformio/espressif32 still has this issue as esphome still build wrong firmwares (for ESP32-WROOM-32/nodemcu-32s in my case)
@QuAzI The Platformio registry has latest bug fixed versions.
The latest version of platform-espressif32 v6.7.0 makes that any firmware on ESP32 crashes as soon as it tries to init NVS.
This bug is not present in v6.6.0 Reverting back to 6.6.0 solves this issue and the firmware works as expected.
The firmware tested is:
Error output:
Compiled using Ubuntu.
Please, let me know how I can help on this and if any other information is needed.