Estoy tratando de desarrollar una estructura de historial de alarmas para almacenarla en una memoria flash no volátil. La memoria flash tiene un número limitado de ciclos de escritura, por lo que necesito una manera de agregar registros a la estructura sin volver a escribir todas las páginas flash en la estructura cada vez o escribir punteros actualizados en la cabecera/cola de la cola.Pila o cola del historial de alarmas?
Además, una vez que se ha utilizado el espacio disponible en la memoria flash, quiero comenzar a sobrescribir los registros previamente almacenados en flash comenzando con el primer registro agregado primero en entrar-primero en salir. Esto me hace pensar que un búfer circular funcionaría mejor para agregar elementos. Sin embargo, al ver los registros, quiero que la estructura funcione como una pila. P.ej. Los registros se mostrarán en orden cronológico inverso último en entrar-primero en salir.
Tamaño de estructura, encabezado, cola, índices no pueden almacenarse a menos que estén almacenados en el registro en sí ya que si se escriben cada vez a una ubicación fija, excederían los ciclos de escritura máximos en la página donde fueron almacenados .
¿Debo usar una pila, una cola o alguna estructura híbrida? ¿Cómo debo almacenar la información de cabeza, cola, tamaño en flash para que pueda volver a inicializarse después del encendido?
¿Está trabajando directamente en flash o está utilizando un sistema de archivos en flash? – stefaanv
Sin sistema de archivos. Escribir para flashear directamente. – mjh2007