Tipi di memorie in un microcontrollore
I microcontrollori/microprocessori sono prodotti essenzialmente con 3 tipi di memorie diverse:
- memoria Flash
- memoria RAM
- memoria EEPROM
Memoria Flash
La memoria Flash è una memoria non-volatile. Questo significa che il contenuto della memoria NON viene perso in caso la memoria venga disalimentata (spenta). La memoria Flash contiene, nei microcontrollori, il firmware da eseguire. Essa può essere riscritta molte volte ma non all’infinito: il parametro “Endurance” che si trova nei datasheet esprime proprio il massimo numero di scritture garantite dal produttore. Grazie alla possibilità di riscrivere la memoria Flash, è possibile fare l’update del codice senza la necessità di dover sostituire il chip fisicamente. NON usare la memoria Flash per salvare le variabili del programma poiché la vita utile della memoria ne risentirebbe visti i continui cicli di scrittura che subirebbe.
Memoria RAM
RAM (Random-Access-Memory) è una memoria ‘volatile’. Questo siginifica che il dato viene mantenuto in memoria solo durante l’alimentazione delle memoria e perso quando disalimentata. La memoria RAM è usata per salvare le variabili del programma durante la sua esecuzione. In generale le memorie RAM hanno tempi di lettura/scrittura estremamente veloci. Questo è uno dei motivi del perché tali memorie vengono usate per memorizzare le variabili. Esistono vari tipi di RAM (SRAM, DRAM, ecc.).
Memoria EEPROM
EEPROM (Electrically Erasable Programmable Read Only Memory) è una memoria anzi direi LA memoria ‘non-volatile’ per antonomasia. La memoria EEPROM ha tempi di lettura/scrittura molto lenti ed estrememente lenti se confrontati con quelli di una RAM. Questo tipo di memoria viene solitamente utilizzata per salvare i parametri di un dispositivo, i dati raccolti da un sensore, una tabella di decodifica, ecc.
Alla prossima!!!