C/C++- библиотека для выравнивания износа EEPROM под Linux?
Кто-нибудь знает библиотеку для безопасного хранения данных в 8k-EEPROM, которая подключена через интерфейс I2C? Я особенно заинтересован в выравнивании износа, так как у меня есть приложение с интенсивной записью, где EEPROM следует / нужно использовать как NVRAM для часто изменяемых данных измерений.
Заранее спасибо мартин
1 ответ
Единственный код выравнивания износа, с которым я когда-либо сталкивался, находится в драйверах MTD в ядре - либо в старой файловой системе JFFS2, либо на уровне UBI. Они предназначены для гораздо больших флэш-устройств с соответственно большими размерами блоков (обычно 64 КБ). Тем не менее, вы можете получить некоторую идею из кода (например, см. Drivers/mtd/ubi/wl.c в дереве ядра).
В противном случае для ваших данных измерений вам, вероятно, придется просто поддерживать кольцевой буфер настолько большим, насколько вы можете, и записывать каждое измерение в последовательные местоположения вместе с отметкой времени, чтобы позже вы могли прийти и найти самый последний.