Цитата(Kirill Frolov @ Mar 29 2008, 13:06)

Напиши какие значения этого бита у 9 последовательных записей. (т.е. чистый флеш, записали раз, записали два...) Сколько кстати блоков флеша? Не больше 8-и? Если это работает, значит старые записи таки переписываются, хотя бы этот бит сбрасывается.
Блоков ("слотов") - теоретически сколько угодно. Я обычно делаю не больше 5.
Пример (обозначение: ПS(F), где S - номер слота, F - флаг. П2(1) - пакет во втором слоте, флаг = 1)
Код
0. Начальное состояние: пусто - все слоты пусты (т.е. у каждого неверная CRC)
1. Пишем 1-й пакет: П1(1) пусто .....
2. Пишем 2-й пакет П1(1) П2(1) пусто .......
...
9. Пишем 9-й пакет: П1(1) П2(1) ......... П8(1) П9(1)
10. Пишем 10-й пакет: П1(0) П2(1) ......... П8(1) П9(1)
11. Пишем 11-й пакет: П1(0) П2(0) П3(1) ......... П8(1) П9(1)
...
18. Пишем 18-й пакет: П1(0) П2(0) .... П8(0) П9(0)
19. Пишем 19-й пакет: П1(1) П2(0) ..... П9(0)
и т.д.
Чтобы определить актуальный пакет, ищем первый переход 0-1 или 1-0.
Если нашли - то пакет слева от перехода и будет актуальным (случай 10 - актуален П1, 11 - П2, 19 - П1)
Если не нашли - актуален последний пакет (случаи 1-9, 18).
PS Насчет теории информации - лень доказывать, но интуитивно - для этого примера у тебя есть 9 информационных бит (частично зависимых между собой), а не 1. Причем не совсем бит - флаг может быть 1, 0 или НЕВЕРЕН (у пакета с неправильной CRC).
Т.е. получается соответствие:
1 НЕВЕРЕН ... НЕВЕРЕН = 1-й пакет
...
1 1 1 1 .. 1 = последний пакет
0 0 1 ... 1 = 2-й пакет
и т.д.