07-17-2020 08:42 PM
Quoting ESP8266 section in the README of the BSEC library:
> You will need to modify the file eagle.app.v6.common.ld.h typically found in {YourESP8266PPackageDirectory}\tools\sdk\ld. With reference to the linker script here, After line 177 *libwps.a:(.literal.* .text.*), add *libalgobsec.a:(.literal.* .text.*), which should look like,
*libwpa.a:(.literal.* .text.*) *libwpa2.a:(.literal.* .text.*) *libwps.a:(.literal.* .text.*) *libalgobsec.a:(.literal.* .text.*) *(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom0.text.* .irom.text .irom.text.*) /* __FUNCTION__ locals */ *(.rodata._ZZ*__FUNCTION__) *(.rodata._ZZ*__PRETTY_FUNCTION__) *(.rodata._ZZ*__func__)
Referencing these lines at the top of the section:
If libalgobsec.a file contents are renamed from .o to .c.o, there is no need to modify any framework files. [1] [2] Based on the comment of Core mainainer, this was done originally to keep Espressif SDK files in ram, as those also don't have any extension before the .o. This might be a subject of change in the Core though, but at least in the current state .ld file modification can be avoided.
[1] https://gitter.im/esp8266/Arduino?at=5f020e983a0d3931fad43f1d
[2] https://gitter.im/esp8266/Arduino?at=5f04432a3c217837fd815438
Solved! Go to Solution.
07-21-2020 09:43 PM
Good sharing. Thank you. 🙂