цитата: mephody13
Да сталкивался, но это было ещё на стадии разработки флешера... Тогда ещё всё только начиналось... Ну а с выходом релизов zfrm-v05, проблем уже ни у кого из тестеров не возникало...
Проблема
есть, возможно не для всех контроллеров или не для всех FULL-RAW образов.
Ну и не все юзеры видимо делают чтение после записи, сравнивают с оригиналом...
mephody13, Вы сами с ней сталкивались и было объяснение:
http://give-all.biz/forum/labjtag/rabota-s-zfrm-05a_2#24635
Правда не перечитав все ветки найти и понять причину тяжело...
И в последней версии проги (5.09) все осталось так же.
По крайней мере для Е1750, который патаюсь прошить - аналогичные несовпадения.
avg, для памяти на 128Мб каждая страница состоит из 4 "кусков"
по 512 байт полезной информации + 16 байт, содержащих их контрольную сумму.
Строка контрольной суммы начинается с FF для исправной страницы
и с 00 для BAD-блока. Далее 10 байт собственно ECC.
А вот последний байт контрольной суммы тут при чтении/записи как-то дублируется
в следующий, с адресом хххххххB.
Смотрите свои картинки: там где ошибка - байт с адресом хххххххА равен байту хххххххB
И строчка заканчиваестя FF FF FF FF.
А по идее должно быть пять раз - FF FF FF FF FF.
Ну а старая программа, которая с FULL-FLASH образами (не RAW) работает
не пишет и не читает эти дополнительные 16 байт.
Потому там все и совпадает при сравнении.
Короче это недоработки софта,
Автору по любому спасибо и он не виноват - технической инфы недостаточно....
ИМХО, этот эффект есть уже при чтении,
и что записалось в 11-ый байт строки ЕСС этой программой уже не определить.
Но на работу модема типа влиять не должно - проц этот испорченный байт вроде не использует.
mephody13, может вынести упоминание об этой особенности на первую страницу?
И по поводу типа BAD-блоков.
Если правильно понимаю, то вывод команды chk говорит лишь о том,
что после стирания часть байт не перешла в состояние FF.
Но это не означает на 100%, что туда не смогут прописаться новые данные.
От конкретных ячеек и битов в данных зависит.
Плюс личное наблюдение - часть блоков, которые не стирались по команде er,
без проблем удалось стереть по ers :)
Если уж подходить к этому вопросу строго, и BAD настоящий,
то и нет никакой гарантии, что этот блок можно будет полностью обнулить
(чтобы перевести в этот самый BAD).
Хотя, ИМХО, для такого перевода 00 важнее писать в первый байт строки ECC,
а не в поле данных. Но могу ошибаться, глубоко не копал...
P.S. Сам до конца проверить не смог.
Провода к модему не зафиксировал, пока экпериментировал - один отвалился вместе с пятаком :(
Сижу, чешу репу...