Arduino a alokace mista pro promenne
Jaroslav Lukesh
lukesh na seznam.cz
Čtvrtek Říjen 24 14:17:51 CEST 2019
dá se docela dost zbavit dynamicky alokovaného místa použitím prefixu
"static" na dynamicky vytvořenou proměnnou
static int pocitadlo
udělá prostor v paměti na proměnnou podobně, jako by byla definovaná na
začátku. Pak když to přeložíte, zjistíte, kolik všecky ty dynamicky dělané
proměnné ve skutečnosti berou a pak optimalizovat dál (musíte ale vědět co
děláte, ne že to napíšete všude bezhlavě). Samozřejmě F() je pak na ráně
jako první akce pro zmenšení místa.
Nevím, jak máte optimalizovaný překlad, používá se -oS na velikost, nebo -o3
na rychlost. To najdete někde u parametrů platformy jak je složka arduino15,
to je první věc na co hrabu, takže nevím jak je to default. UECIDE to má
přímo jako volbu v menu.
----- Původní zpráva -----
Od: Martin Locker
RAM je potřeba na ten textový řetězec, standardně se ukládá do RAM jako
proměnné. Dá se vynutit jeho uložení do FLASH makrem F().
Serial.println(F("Retezec ve FLASH"));
----- Původní zpráva -----
Odesilatel: "Jirka Mww" jirka.mww na gmail.com
nic moc náročného. Při překladu se mi ale začala objevovat hláška, že budu
mít brzo málo místa pro proměnné v RAM , přitom jich tam zas až tolik není.
Další informace o konferenci Hw-list