Skip to content
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

GitHub vs 2.3.0 Release Ram Usage > Stable 2.3.0 uses much less RAM? #3227

Closed
horendus opened this issue May 10, 2017 · 6 comments
Closed

GitHub vs 2.3.0 Release Ram Usage > Stable 2.3.0 uses much less RAM? #3227

horendus opened this issue May 10, 2017 · 6 comments

Comments

@horendus
Copy link

Just noticed that compiling my (large) firmware with the 2.3.0 Stable Release vs the current GitHub version has a large RAM usages difference after boot.

Current GitHub: 11136 remaining
2.3.0 Stable: 13904 remaining

These are the (ESP8266) libraries being used.
#include <WiFiClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <ESP8266WebServer.h>
#include <ESP8266httpUpdate.h>

Any idea where all the extra RAM usage could be coming from?

@igrr
Copy link
Member

igrr commented May 10, 2017

Do you happen to use TLS (WiFiClientSecure) or httpUpdate over HTTPS in your sketch?

If you upload both elf files somewhere and post a link to them, i can probably tell more.

Also, is that the "free size" reported by Arduino IDE, or the output of ESP.getFreeHeap() reported at run time? If this is at run time, please outline what things you are initializing before getting the free heap value.

@horendus
Copy link
Author

horendus commented May 10, 2017

The free size is reported by ESP.getFreeHeap() but I can also see the change of RAM usage in the Arduio IDE output.

I am using httpUpdate BUT not the RAM check is done before that is initialized. No WiFiClientSecure.

The RAM check is after initialized these ESP libraries
MDNS.begin();
MDNS.addService();
server.begin();
udp.begin();
WiFi.hostByName();
wifiManager.autoConnect() < -- This is from another library but ties in with ESP8266 libraries

@horendus
Copy link
Author

(sorry) Where do I retrieve the ELF files from?

@igrr
Copy link
Member

igrr commented May 10, 2017

If you enable verbose compilation output in Arduino IDE Preferences, you will get the path to the compiled .bin file in the compilation log. The ELF file is going to be in the same directory, with an .elf extension.

@devyte
Copy link
Collaborator

devyte commented Sep 6, 2017

@horendus will you be posting the elf files? Also, please check heap at the very beginning of setup to know at value it starts with.

@igrr
Copy link
Member

igrr commented Dec 28, 2017

No feedback for a while, closing.

@igrr igrr closed this as completed Dec 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants