Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By tve
#38983 Well, I'm sorry to tell you, but your strings are not ending up in flash, except for the os_printf format strings, which go through a special macro. Take a look at the output of
xtensa-lx106-elf-objdump -j .rodata -s espiobridge-rboot.o
and you will see most of your strings. The rodata segment ends up in RAM, it's part of the ~39KB:
dram: available: 80 k, used: 39992, free: 41928, 51 %
You can see which strings end up in flash thanks to the os_printf macro by running
xtensa-lx106-elf-objdump -j .irom0.text -s espiobridge-rboot.o | less
and looking from the end of that output.
User avatar
By eriksl
#38985 I stand corrected then!

Well I have still about 36 kbytes free, it appears, when running, so I guess it isn't such a big deal.

Are you really sure, also about strings declared: const char *bla = "bla"; ? And also with -f-no-writable-strings?