AVR-SIZE come funziona?

Ho un problema con AVR-SIZE, il programma richiamato dall'IDE per visualizzare la quantità di memoria flash e ram occupata dal programma e dalle variabili. Sto usando un Arduino Nano con ATmega328 e gli esempi della libreria Adafruit RGB Matrix per comandare un pannello RGB 32x32.

La libreria alloca in memoria un buffer di 1536 byte, ma questo spazio non viene rilevato da avr-size e quindi non conteggiato come occupato. Inoltre se, ad esempio, inizializzo la seriale dopo l'inizializzazione della matrice, credo che il buffer seriale sovrascriva parte del buffer video (chiamiamolo così). Possibile che il compilatore permetta ciò? Il buffer è sicuramente una variabile dinamica, ma perché non viene conteggiata nella RAM occupata? Mi spiegate il motivo?

Lasciate perdere la questione di creare un buffer di 1,5K su un micro con 2. Lo so. Vorrei capire perché non la conteggia e se veramente risulta come occupata o ci sono problemi di sovrascrittura.

Il buffer se è di tipo dinamico come probabile che sia non è rilevato da AVR-SIZE. AVR-SIZE lavora sul file compilato, quello che succede in runtime non può saperlo, per quelle verifiche è necessario ripiegare su una soluzione runtime come MemoryFree.