https://github.com/earlephilhower/ESP8266Audio könyvtárat szeretném használni, de ez bootoláskor dől el hogy tényleg kell-e.
Ha csak #include "AudioFileSourceSPIFFS.h" van a kódban, semmi más, akkor is megeszik vagy 10kb ramot. Átnéztem de nem találom a bűnöst.
Egy extern boolt szeretnék beletenni, ha az false, felejtse el az egész projektet, de arra se jövök rá hogy hova tűnik a ram.
THX!
- 238 megtekintés
Hozzászólások
Ha linkeket, includeolod a header fájlt, a memória foglalás - nem dinamikus - megtörténik, Ha ez futamidejű bool opció, akkor nem Uszód meg. Nézd meg a forráskódját, mit foglal le (valami Time buffer lesz), csökkentsd a méretet vagy tedd dinamikusra. A lib vélhetően nem runtime függő include-ra készült. 8266 esetén talán nem fáj annyira 10kB
- A hozzászóláshoz be kell jelentkezni
Az a 10kb pont rohadtul fáj. Ha minden benne van a cuccomban marad 25kb, abból -10 az már nagyon necces.
- A hozzászóláshoz be kell jelentkezni
Van egy ilyenem:
#include <ESPFlashString.h>
uint8_t sg[55]; // setup uint8_t gpio (espflash)
ESPFlash<byte> sgf("/sg");
bool success_sg = sgf.getFrontElements(sg, sizeof(sg));
Ebből már a könyvtár tudhatja hogy van-e rá szükség. Hülyeséget írtam. Ötlet?
Szerk: vagy nem?
- A hozzászóláshoz be kell jelentkezni
Itt írják hogy ténylegesen csak azt include-old, ami kell, ezzel csökkenteni lehet a 10kB-ot
https://github.com/earlephilhower/ESP8266Audio/blob/master/src/ESP8266A…
- A hozzászóláshoz be kell jelentkezni
Túl vagyok rajta, 4 sor maradt, a ram meg ugyanannyi.
- A hozzászóláshoz be kell jelentkezni
Hasonlo esetekben azt szoktam hogy a *.elf-re raengedek egy `nm main-akarmi.elf | sort` -ot es abbol ki lehet banyaszni hogy mik azok a statikus objektumok (nev szerint) amik megeszik a RAM-ot.
Illetve forditsd -fdata-sections kapcsoloval + utana -Wl,--gc-sections modon linkeld. Akkor kiszedi azokat a statikus objektumokat amikre nincs hivatkozas.
- A hozzászóláshoz be kell jelentkezni