Arduino 101-Occupazione Memoria FLASH

Buonasera a tutti,

sto programmando una board Arduino 101 e mi ritrovo al momento della compilazione dello sketch il seguente messaggio:

"Lo sketch usa 151512 byte (97%) dello spazio disponibile per i programmi. Il massimo è 155648 byte."

Sto cercando di ridurre la lunghezza del mio codice tuttavia mi sorge un dubbio: da quanto ho letto, la memoria FLASH in Arduino è la memoria di programma, cioè quella necessaria per caricare lo sketch.

La documentazione di Arduino 101 riporta:

Memory
The Intel Curie module memory is shared between the two microcontrollers, so your sketch can use 196 kB out of 384 kB (flash memory) and 24 kB out of 80 kB (SRAM)

Di conseguenza..i conti non tornano: qualcuno mi sa spiegare come mai risulta invece che il massimo numero di byte è 150 kB ? 46 kB (che sono la differenza tra quanto scritto nella documentazione e quanto mi apparte su compilatore) mi servirebbero come il pane..

Vi ringrazio in anticipo per la disponibilità

NON ne ho la più pallida idea (non conosco quella scheda), ma ... se osservi la pagina ufficiale "Getting Started with the Arduino/Genuino 101", scorrendo verso il basso, dove c'è l'immagine di una compilazione andata a buon fine, si legge chiaramente "Maximum is 155684 bytes"...

... quindi ho idea che in quei KB mancati ci viene caricato qualche cosa utilizzato da una delle due parti ... ::slight_smile:

E' comunque fuori dubbio che la documentazione della scheda da informazioni fuorvianti ed in contrasto con quanto indicato dal compilatore.

Guglielmo

Eh..mi sa anche a me: trall'altro sono andato sul sito della Intel e ribadiscono che la memoria di programma è 196 kB: provo a sollevare la questione anche a loro nella speranza di sapere qualcosa in più..

ti ringrazio

Mmmm ... prova a leggere QUI ... gia nel 2016 tra le varie cose trovi :

Decrease max sketch size to 155,648 bytes

... mi sa che è inutile che chiedi in giro, la spiegazione è li :wink:

Guglielmo