我试图开发一个报警历史结构存储在非易失性闪存中。闪存的写周期数量有限,所以我需要一种方法来向结构添加记录,而不必每次都重写结构中的所有闪存页面,或者写出更新的指向队列头部/尾部的指针。报警历史堆栈或队列?
此外,一旦可用闪存空间已被使用,我想要开始覆盖以前存储在闪存中的记录,并以先入先出的先记录开始。这使我认为循环缓冲区对于添加项目最有效。但是,在查看记录时,我希望结构像堆栈一样工作。例如。记录将按逆时间顺序显示后进先出。
结构大小,头部,尾部索引不能存储,除非它们存储在记录本身中,因为如果它们每次写出到固定位置,它将超过它们存储在页面上的最大写周期。
所以我应该使用堆栈,队列还是一些混合结构?我应该如何将头部,尾部,尺寸信息存储在闪存中,以便在加电后可以重新初始化?
您是直接在闪存上工作还是在闪存上使用文件系统? – stefaanv 2009-11-18 19:44:05
没有文件系统。直接写入闪存。 – mjh2007 2009-11-18 19:48:21