Как вариант, использовать не память EEPROM, а память программ. Допустим, выделить в середине FLASH памяти участок в несколько килобайт, и при каждом включении обнулять дополнительный бит. Конечно, нужно будет защититься и от записи в эту область программатором... Допустим, имеется участок в 1 кб в адресах 0x1000 ~ 0x11FF. При однобитовой записи, его хватит на 8000 включений. При каждом новом включении, нужно будет проходиться по адресам, находить свежий ненулевой байт и самый верхний бит обнулять. Будет производиться запись страницы, но фактически, будет записан только 1 бит: Начальное содержимое: ... 00 00 00 0F FF FF FF ... Под запись: ... FF FF FF F7 FF FF FF ... Результат: ... 00 00 00 07 FF FF FF ...
|