Sto provando a sviluppare una struttura della cronologia degli allarmi da memorizzare nella memoria flash non volatile. La memoria flash ha un numero limitato di cicli di scrittura, quindi ho bisogno di un modo per aggiungere record alla struttura senza dover riscrivere tutte le pagine flash nella struttura ogni volta o scrivere i puntatori aggiornati sulla coda/coda della coda.Stack o coda della cronologia degli allarmi?
Inoltre, una volta che è stato utilizzato lo spazio di memoria flash disponibile, desidero iniziare a sovrascrivere i record precedentemente memorizzati in flash a partire dal primo record aggiunto first-in-first-out. Questo mi fa pensare che un buffer circolare funzionerebbe al meglio per aggiungere elementi. Tuttavia, quando visualizzo i record, voglio che la struttura funzioni come una pila. Per esempio. I record verrebbero visualizzati in ordine cronologico inverso last-in-first-out.
Dimensioni della struttura, testa, coda, indici non possono essere memorizzati a meno che non siano memorizzati nel record stesso poiché se fossero scritti ogni volta in una posizione fissa, eccederebbero i cicli di scrittura massimi nella pagina in cui erano memorizzati .
Quindi dovrei usare uno stack, una coda o una struttura ibrida? Come devo memorizzare la testa, la coda, le informazioni sulla dimensione in flash in modo che possa essere reinizializzata dopo l'accensione?
Stai lavorando direttamente su flash o stai utilizzando un file system su flash? – stefaanv
Nessun file system. Scrivere direttamente in flash. – mjh2007