Si, hai ragione, ho fatto la prova con un semplice codice per verificare, ed effettivamente ci sono 6 byte in più se viene chiamata una funzione da loop, quindi forse devo rivedere qualche cosa, altrimenti mi ciuccia troppa RAM sta cosa!
Attento a non confondere FLASH ed RAM (ed EEPROM).
Con i microcontrollori si ha a che fare con un'architettura informatica di tipo Harvard, dove la memoria che contiene il codice è separata dalla memoria in cui vengono create e gestite le variabili, ossia i dati generati dal programma.
La Flash contiene il codice, ed è una memoria non volatile riscrivibile: non essendo volatile, mantiene il tuo programma anche se stacchi l'alimentazione. La RAM è volatile per cui, una volta staccata l'alimentazione, tutti i dati elaborati vanno persi. Per contro, ha la possibilità di essere scritta un numero praticamente infinito di volte, mentre la Flash ha un limite di 10.000 riscritture.
Quando compili uno sketch e vedi 6 byte in più per il salto alla tua sub-routine (o funzione, chiamala come ti pare), si parla di memoria FLASH consumata in più. Il consumo della RAM non lo vedi da lì ma sappi che comunque cresce anche quello perché un salto prevede il salvataggio del punto di ritorno nello stack del programma, che è gestito in RAM.
Si, quello che spiegni lo sapevo già, ma non conoscendo come misurare o stimare la RAM in uso da una MCU ho assunto che se per un semplice spostamento di variabile, in FLASH guadagno o perdo 100bytes è da sperarsi che anche in RAM vi siano queste differenze anche se non si conosce la loro entità anche perché, se le variabili sono global, sono fissate nella RAM durante tutto il tempo che c'é alimantazione giusto? mentre se vengono dichiarate in funzioni, saranno variabili locali ed il sistema le userà solo mentre servono, uscito dalla funzione le cancellerà o renderà lo spazio occupato da questi dati libero di essere usato in un'altro posto del codice, giusto?
Approposito di limite di scritture della memoria interna (EEPROM in questo caso), ho visto un filmato su youtube di una prova fatta da alcuni ragazzi per collaudare quante riscritture durasse prima di dare errore, hanno creato un loop con contatore, dopo un po di tempo (non ricordo quanto) si è bloccato, facendo qualcosa come 126000 riscritture se non ricordo male! interessante (quindi da tenere ben a mente quando si fanno dei loop che scrivono in EEPROM ma anche in FLASH, si rischia di rovinare la memoria!).