Сообщение от Erema36
Немного поправлю, чтобы не сложились ложные представления:
микросхема - HY27UH08AG5M
ссылка на datasheet - http://www.alldatasheet.com/datashee...7UH08AG5M.html
Высчитаем размер блока, как минимальной единицы манипулирования данными:
Block size= 128*1024+4*1024= 135 168 байт
т.е. пишем и читаем полезными кусками данных по 128 Кбайт.
Т.о. именно для этой микросхемы размер блока 64 страницы памяти.
|
Да, да, да, спасибо за поправку.
Так и есть,
1 блок содержит 64 страницы (256 секторов).
Страница спецификации.
Писал по памяти и чё-та попутал, видать с "блочностью"-кластерностью логической записи файлов на карты памяти FAT16 до 2 Гб. Да, именно так, файлы пишутся на карту строго кластерами по 32 сектора (8 страниц (16k)). Если файл заканчивается в начале какого-либо кластера секторов, то следующий файл уже не пишется в данный раздел, а начинается только со следующего кластера. То есть, вот такое нерациональное расходование пространства.
Далее по делу...
- Здесь описана процедура чтения и записи, где видно, что это действительно делается страницами - чтение любой страницы или серийно несколько страниц; запись только циклами по одной странице.
- Здесь описывается процесс стирания и, как я понял, стирать данные в этой микросхеме можно только блоками, но никак не страницами. Причём новый подготовленный блок, необходимо предварительно загрузить в кэш микросхемы, иначе команда стирания будет игнорироваться, защищая её от случайного стирания в случаях посторонних электрических наводок со стороны.
К чему это я...
Дело в том, что мой программатор "
Тритон" умеет считывать микруху страницами. Но когда я произвожу обратную запись исправленной страницы, то он выдаёт запрос на стирание. Если отказаться от стирания, а пытаться писать поверх, то после проверки оказывается, что он ничего не пишет.
Если разрешить стирание предыдущих данных, то он производит цикл стирания-записи и все данные прекрасно переписываются.
Отсюда возникает вопрос: а не стирает ли он полностью блок (64 страницы), прежде чем записать новую одну страницу?

Вот этот момен я как бы не проверял. Я считывал только данную одну страницу под номером
07FFC4 во 2-ом банке памяти и видел, что все данные на этой странице записаны правильно, MSID поменялся точно на своём месте.
А вот что на следующих или предыдущих страницах не проверял. Короче, карты выходят не рабочими.
С другой стороны, если взять программатор "
Flash Reader", то на нём карты получаются рабочими, хотя процент брака достаточно велик. Но вот он, как раз, не умеет читать и писать страницами. Он только снимает полный дамп и так же обратно весь дамп и пишет.