Advanced Users can post their questions and comments here for the not so Newbie crowd.

Moderator: eriksl

User avatar
By eriksl
#92151
Code: Select allcommit ecb17eee0e1bb14c365f48308257e7987f4ddb91 (HEAD -> master, origin/master, origin/HEAD)
Merge: b57142b b68ac86
Author: Xu Chun Guang <xuchunguang@espressif.com>
Date:   2 weeks ago

    Merge branch 'feature/update_core' into 'master'
   
    feat: strip commit 7a1c97f7 lib and revert lwip lib
   
    See merge request sdk/ESP8266_NONOS_SDK!290


What it doesn't tell it will free up ~4k of IRAM space, which will be welcome to many of us, I think.
User avatar
By eriksl
#92156 I wonder what they actually did. Using the plain "strip" command on a library will render it useless, it cannot be used as library anymore (symbols are missing). Also all symbols are removed when converting the elf file to an ESP image. So it can't be that.

I think they seriously (at last) had a look at all functions marked as "iram" and decided a lot didn't have to be really in IRAM.

Or they found the trap I also fell in one time: if you mark a function as "iram" and use any inline function there (either explicit or assigned by the compiler), the body of the inlined function will also go into iram and that may make a lot of difference. Even though it may not be necessary at that point.

Or it was simply the usual Espressiv sloppyness, in ESP8266_NONOS_SDK all functions not explicitly marked for a section go into IRAM. I guess that also counts for the libraries. So they found some unmarked functions that should have been marked.

I tend to go for the last one...

I updated my case: https://github.com/espressif/ESP8266_NO ... issues/329