Page 1 of 1

New ESP8266_NONOS_SDK in git

PostPosted: Fri Aug 27, 2021 9:34 am
by eriksl
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.

Re: New ESP8266_NONOS_SDK in git

PostPosted: Fri Aug 27, 2021 7:42 pm
by davydnorris
Yeah they posted the non-stripped version previously and then fixed it, but this seems to be even further stripped than previously

Re: New ESP8266_NONOS_SDK in git

PostPosted: Sat Aug 28, 2021 5:32 am
by eriksl
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