2010-04-16 25 views
1

是否有人知道用于将数据安全地存储在通过I2C接口连接的8k-EEPROM中的库?我特别感兴趣的是磨损平衡,因为我有一个写密集型应用程序,在这个应用程序中,EEPROM应该/必须用作NVRAM,用于频繁测量数据。C/C++ - 用于在Linux下进行EEPROM磨损平衡的库?

在此先感谢,马丁

回答

3

唯一的磨损均衡的代码,我曾经遇到过是在内核中的MTD驱动程序 - 无论是在旧的JFFS2文件系统或UBI水平。这些专为更大的FLASH设备而设计,具有相应更大的块大小(通常为64KB)。但是,您可能会从代码中获得一些想法(例如,请参阅内核树中的drivers/mtd/ubi/wl.c)。否则,对于您的测量数据,您可能只需维护一个尽可能大的环形缓冲区,然后将每个测量结果连同时间戳一起写入连续的位置,以便您稍后可以进入并定位最新的一个。