-
-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP32 builds are massive #2819
Comments
Comparing build logs between IDF 4.4 and IDF 5.2:
|
IDF 5 adds |
Building with WPA3 disabled reduces size: IDF 4.4
app.bin: 1,017,424 bytes
IDF 5.2
app.bin: 1,077,520 bytes
|
Release builds are very similar between IDF 4.4 and 5.2. Conclusion: More debug code/text in IDF 5.2. IDF 4.4
IDF 5.2
|
Further to #2819 the size mainly seems to relate to two things: 1. WPA3 support is enabled by default, but probably isn't necessary for most applications (could be wrong). 2. More debug stuff in IDF 5.2; release builds are comparable to IDF 4.4. ## Bug fixes - esp32 timer definitions missing in RELEASE build - sdkconfig definitions not picked up ## Size fixes **Disable WPA3 by default** This is also enabled by default in IDF 4.4 but can always be re-enabled if required. It adds quite a lot to the image size. **Don't pull in stdio code from newlib** Sming doesn't use newlib stdio streams ## Others - Revise CI tool `scanlog.py` to include missing builds (HostTests) - Make `checksdk` a pre-requisite
is there a way to reduce the amount of extra code in non-release builds? in my case, it looks like the application won't fit into a 1MB segment when built with SMING_RELEASE=0 which limits my ability to debug on the Esp32 platform (I assume with a release build, gdb with a hw debugger won't be of much use either as symbos are stripped?) |
just noticed that even with a release build, the rom image is >1.2MB whereas for the 8266 it's <900kB. I guess that's the price to pay. |
You could try mucking around with some of the IDF settings, see if that makes a difference. Also try reducing debug verbosity as debug messages take up space. For example:
Note that symbols aren't stripped in any build versions since this information never gets into the firmware images. Building with |
The esp32 series have better virtual memory management hardware and aren't limited to 1MByte AFAIK. |
HostTests builds for esp32 look suspicously large. These are all default builds. Needs further investigation.
esp32: app.bin 1,173,952 bytes
esp32c3: app.bin 1,207,664 bytes
esp8266: rom0.bin 771,584 bytes
rp2040: app.bin 710,172 bytes
The text was updated successfully, but these errors were encountered: