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

User avatar
By cal
#20803 Moin Peter,

did you take a look at the "mapfile" generated by linker (on request only, nodemcu linker call does generate it by default)
to see what does actually consume iram?
At least interrupt code and flash controller code will have to go to iram AFAIK.
But I don't have numbers how much is occupied by the SDK code alone where we don't have control.

Cal
User avatar
By cal
#20882
pvvx wrote:
scargill wrote:Any good ideas for reducing iRAM use further?

Increase the size of IRAM by reducing CPU cache. Option IRAM 48k + 16k cache. 16k processor enough flash cache ...
Hack/patch: libmain.a + libpp.a
Sample: viewtopic.php?f=11&p=20860#p20860


Good idea.
Do you know if 16k is the smallest block size?
Do you know if that memory is fixed for "code" or can it be used to cache flash as "data", too?

Cal

P.S.
No time for any nodemcu hacking since your sdk post, hope to find some, soon...
User avatar
By pvvx
#20883
cal wrote:Do you know if 16k is the smallest block size?
Do you know if that memory is fixed for "code" or can it be used to cache flash as "data", too?
IRAM 4x16k blocks = 64k.
block = Code, R/W, ALIGN(2(?))... https://github.com/pvvx/esp8266web/blob ... ash.c#L274