Go Down

Topic: Chiarimenti su memoria (Read 1 time) previous topic - next topic

leo72

Per completare il discorso, esistono dei metodi per conoscere l'occupazione statica e dinamica della SRAM.
Si può vedere la memoria RAM usata staticamente (quindi come stack e creazione di variabili) dopo aver compilato il proprio sketch. Basta spostarsi nella cartella temporanea che l'Arduino crea in /tmp/buildxxxxxxxxxxxxxxxxxx (su Windows non mi ricordo dove la mette), aprire un terminale e dare "avr-size nome_file_sketch.elf -C".
Ti verrà restituita l'occupazione di flash e di Ram del tuo sketch.

A livello dinamico (ossia con lo sketch in esecuzione) puoi provare questo:
http://arduino.cc/playground/Code/AvailableMemory

qwerty86

Grazie a tutti. Solo ora ho avuto modo di leggere le vostre risposte. Devo provare con avr-size.

So cos'è un heap o uno stack. Una variabile dichiarata in una funzione vive solo in quella funzione? Cioè se dichiaro un array di 10 interi in questa funzione e nel loop() prima di chiamare questa funzione ho 100byte liberi dopo la funzione ne dovrei avere ancora 100 o no? Oppure tutto quello che viene dichiarato, comprese le variabili delle funzioni, viene allocato staticamente? Grazie.

PaoloP

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Go Up