I am using the development version of platformio core (version 3.6.0a1) with deviot plugin on sublime for development.
After the last upgrade to 3.6 I started seeing some weird issues.
Our team is working on a ESP32 project. When I was on 3.5.3 the compilation and upload worked just fine.
However after I upgraded Pio core, I ran into a couple of issues.
- Differences in memory usage during build and during upload.
Here is the terminal output when I run a build command.
Checking size .pioenvs/prod/firmware.elf Memory Usage -> http://bit.ly/pio-memory-usage DATA: [==========] 171.7% (used 506384 bytes from 294912 bytes) PROGRAM: [==========] 99.5% (used 1798617 bytes from 1807328 bytes)
And this is the error I get when I run the upload command.
Checking size .pioenvs/prod/firmware.elf Memory Usage -> http://bit.ly/pio-memory-usage DATA: [==========] 171.7% (used 506392 bytes from 294912 bytes) Error: The program size (1798629 bytes) is greater than maximum allowed (1507328 bytes) PROGRAM: [==========] 119.3% (used 1798629 bytes from 1507328 bytes)
Nothing changed between the build and upload command. and as a result I am unable to upload the firmware.
- We are using a custom partition map for the esp32. We have modified the default.csv under .platformio/packages/framework-arduinoespressif32/tools/partition to suit our needs and also modified the sizes in the corresponding board.json file and the board.txt file in the platforms and packages folders respectively.
We are using a app partition size of more than the default and even the 1798629 bytes as reported should fit into the partition. Where does the memory check script get its limits from??
On a related observation, a colleague of mine who is also working on the same project is not having any issue with either compiling or uploading. He is still running the 3.5.3 version of Pio core.
PS: I have tried rolling back the espressif32 version to an earlier version before 1.0.2. I have tried 1.0.0 an 0.12.0 but it does not seem to make any difference.