Any chance to get rid of blobs?
Posted: Sun Nov 09, 2014 1:04 pm
Okay, I may be a newbie to ESP8266 development and be missing some trivia.
So far we have the following blobs:
Out of these blobs we have sources for lwip (examples/IoT_Demo/lwip), and lwip is opensource anyway, libssl, json in 0.9.2 sdk.
libupgrade is useless anyway, like libjson. Giving lwip a quick look - we might be able to ditch stock sources for upstream lwip, that can be later compiled with more goodies (IPv6 ?), Looks like it's worth trying. Libc looks like newlib, but compiled in some weird way so that some things are missing (sscanf, atoi). Has anyone tried building newlib with crosstool? Why do we have to carry around libc.a?
That leaves us with a smallwer list of essential blobs we have no sources whatsoever:
Out of this list - libmain.a is the one that's just asking to be ditched, since it affects the code execution flow greatly (main() is there). The rest can be dealt with later. Is anyone working on that?
I will be trying to compile things with upstream lwip tree, so I may be able to ditch liblwip.a for good and get some more nice features.
So far we have the following blobs:
- libc.a
- libhal.a
- libjson.a
- liblwip.a
- libmain.a
- libnet80211.a
- libphy.a
- libssl.a
- libupgrade.a
- libupgrade_ssl.a
- libwpa.a
Out of these blobs we have sources for lwip (examples/IoT_Demo/lwip), and lwip is opensource anyway, libssl, json in 0.9.2 sdk.
libupgrade is useless anyway, like libjson. Giving lwip a quick look - we might be able to ditch stock sources for upstream lwip, that can be later compiled with more goodies (IPv6 ?), Looks like it's worth trying. Libc looks like newlib, but compiled in some weird way so that some things are missing (sscanf, atoi). Has anyone tried building newlib with crosstool? Why do we have to carry around libc.a?
That leaves us with a smallwer list of essential blobs we have no sources whatsoever:
- libhal.a
- libmain.a
- libnet80211.a
- libphy.a
- libwpa.a (Part of WPA-supplicant? )
Out of this list - libmain.a is the one that's just asking to be ditched, since it affects the code execution flow greatly (main() is there). The rest can be dealt with later. Is anyone working on that?
I will be trying to compile things with upstream lwip tree, so I may be able to ditch liblwip.a for good and get some more nice features.