Arduino e RAM

Buongiorno,

stavo dando un occhiata a questa breakout Adafruit, ovvero una RAM non volatile FRAM.

Ho dato un occhiata alla loro libreria e ai loro esempi, in questi ultimi la usano come EEPROM più che come RAM aggiuntiva.

Mi stavo chiedendo, se venisse usata come RAM aggiuntiva per il proprio programma in che modo verrebbero gestite lo STACK e le variabili ?

Grazie delle risposte

Moce993:
Mi stavo chiedendo, se venisse usata come RAM aggiuntiva per il proprio programma in che modo verrebbero gestite lo STACK e le variabili ?

Non si può. L'uso di una RAM esterna come lo intendi tu deve essere previsto a livello hardware. Questo modulo (tra l'altro su lento bus i2c) può essere considerato solo una "memoria di massa".

Claudio_FF:
Questo modulo (tra l'altro su lento bus i2c) può essere considerato solo una "memoria di massa".

Sisi ho visto, la versione con comunicazione SPI arriva a 20MHz contro 1MHz di quella in I2C, mi risultava più facile capire la versione in I2C avendo già interfacciato altri driver con quel bus, tutto qui.

Claudio_FF:
L'uso di una RAM esterna come lo intendi tu deve essere previsto a livello hardware.

Intendi che la MCU deve essere predisposta per fare ciò ? ma non dovrebbe essere a livello software l'interfacciamento e lo sfruttamento della stessa?

Moce993:
ma non dovrebbe essere a livello software l'interfacciamento e lo sfruttamento della stessa?

NO, è a livello hardware ... la SRAM DEVE essere direttamente indirizzabile internamente o, per le MCU che o prevedono anche esternamente. Ad esempio il ATmega2560 prevede la possibilità di usare alcuni pin di I/O come address bus ed altri come data bus per uare delle memorie esterne come espansione della SRAM ... se ne è già parlato in altri thread (ad esempio QUI).

Guglielmo

P.S.: A livello software dici solo DOVE, nella mappa di tutti gli indirizzi del address bus, mettere le varie cose.