Something weird going on - appreciate any help.
I am using ESP32-S3 board with FFat.
On one computer, everything works perfectly (init, read, write).
On a 2nd computer, running the same program, trying to build, upload, and run it gives the following error (during execution; build and upload going fine):
Inizializing FFat…
[ 14027][E][FFat.cpp:35] check_ffat_partition(): No FAT partition found with label ffat
[ 14027][E][FFat.cpp:49] begin(): No fat partition found on flash
FFat Mount Failed!
Few observations:
On the failing computer, building and running my program from Arduino IDE works!.
I have no notion of “board_build.filesystem = fatfs” in my platformio.ini file. As I said - works GR8 on one computer…
Of course, if I upload the program from the “good” computer and only execute it (from within VS) on the 2nd computer - everything is OK. “Something” is going wrong during compilation on 2nd computer.
I uninstalled and re-installed PlatformIO and VS Code - no luck
The program itself is quite “classic” FFat (and giving the same result regardless of the flag being true or false):
Please use PlatformIO IDE for VSCode and compare “Activity Bar (Left bar) > PlatformIO > Project Tasks > %env% > Dependencies > List” on both machines. It looks like you use different versions of dependencies.
We recommend using semantic versioning and declaration. See the example for platform option. The same syntax is for lib_deps.
Thanks Ivan.
Please excuse the length of the response - would like to provide all info possible…
Codebase on both machines is the same.
I “solved” my problem by copying /Users/%user%/.platformio/packages from the successful to the failing machine. Still I don’t understand the root cause of the variance…
Looking at /Users/%user%/.platformio/packages on the failing machine, I see:
contrib-piohome
framework-arduinoespressif32
toolchain-riscv32-esp
toolchain-xtensa-esp32s3
tool-esptoolpy
tool-mkfatfs
tool-mklittlefs
tool-mkspiffs
tool-scons
Looking at /Users/%user%/.platformio/packages on the successful machine, I see, in addition to the above:
contrib-pioremote
framework-espidf
toolchain-esp32ulp
toolchain-riscv32-esp@8.4.0+2021r2-patch5
toolchain-xtensa-esp32s3@8.4.0+2021r2-patch5
tool-cmake
tool-idf
tool-ninja
As a result, prior to the copy I did, there was a variance in the dependency list:
Last: I noticed, in the VS Code Terminal on the failing machine (prior to my “fix”), the following message appearing randomly:
*[6/21/2023, 4:37:56 PM] Unable to resolve configuration with compilerPath * “C:/Users/elist/.platformio/packages/toolchain-xtensa-esp32s3@8.4.0+2021r2-patch5/bin/xtensa-esp32s3-elf-gcc.exe”. Using “cl.exe” instead.
THAT, I believe, would be the reason for the different behavior of the compiled code, still - why the packages on both machines vary? VS Code & PlatformIO is the same, ESP-IDF is 5.0 on the successful machine and 5.0.2 on the failing machine - could that be it??