OLIMEX/ESP8266

Tho functions move into flash instead of RAM

mikexmas opened this issue · 4 comments

Is there any special reason to have following two fncs in RAM ?
user_config.c/config_response
user_webclient.c/webclient_host_check

I stray of RAM iram1_0_seg since SDK 1.5.3.

There is no reason above mentioned functions to be in RAM. Just an oversight on my part. Fix is ready and I will commit it later today. Thank you for the cooperation.

However I have no problems with compilation. What options you use to compile?

Resolved with commit 6064583

I use Olimex MAKEFILE, some additional C/H files added only with my code. Size of .text increases to cca 8250hex, but limit is 8000hex.
I checked DUMP, but no my code is placed into .text, so maybe some additional system calls are done, but I have not investigated yet.
I added to linker options: -Wl,--gc-sections to decrease size.
This happened after migration to 1.5.3.

I will recommend you to compile with

make DEVICE=EVB_ONLY APP=1
make DEVICE=EVB_ONLY APP=2

depending which binary you want to compile. This will reduce module drivers to minimum and will leave more RAM for your code.

You can look at user_config.h to see drivers included for each preset device configurations.

At the moment device presets are: EVB_ONLY, PLUG, SWITCH1, SWITCH2, BADGE, DIMMER.