From f8e18d892faae6d6ec3d19744d1b35e2c606fac2 Mon Sep 17 00:00:00 2001 From: Yury Popov Date: Mon, 9 Jan 2017 05:30:41 +0300 Subject: [PATCH] Leave only some parts of SDK in iram (#1710) Leave only some parts of SDK in IRAM --- ld/nodemcu.ld | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ld/nodemcu.ld b/ld/nodemcu.ld index 56e91a7b..a27affa9 100644 --- a/ld/nodemcu.ld +++ b/ld/nodemcu.ld @@ -103,7 +103,24 @@ SECTIONS *(.init.literal) *(.init) - *sdk/esp_iot_sdk_*lib/lib*.a:*(.literal .text) + /* SDK libraries that used in bootup process, interruption handling + * and other ways where flash cache (iROM) is unavailable: */ + *libmain.a:*(.literal .text) + *libnet80211.a:*(.literal .text) + *libphy.a:*(.literal .text) + *libpp.a:*(.literal .text) + *libgcc.a:*(.literal .text) + + /* Following SDK libraries have .text sections, but not included in iRAM: */ + /* *libat.a:*(.literal .text) - not used anywhere in NodeMCU */ + /* *libcrypto.a:*(.literal .text) - tested that safe to keep in iROM */ + /* *libdriver.a:*(.literal .text) - not used anywhere in NodeMCU */ + /* *libespnow.a:*(.literal .text) - not used anywhere in NodeMCU */ + /* *libmesh.a:*(.literal .text) - not used anywhere in NodeMCU */ + /* *liblwip_536.a:*(.literal .text) - source-based library used instead */ + /* *libpwm.a:*(.literal .text) - our own implementation used instead */ + /* *libwpa.a:*(.literal .text) - tested that safe to keep in iROM */ + /* *libwps.a:*(.literal .text) - tested that safe to keep in iROM */ *(.iram.text .iram0.text)