Всем спасибо за +. Скачал что нужно.
Tim24 Почитал инфу по вашей ссылке, это не совсем то, что нужно. Я покопался в даташите на эту микросхему, и нашел интересный пункт.
Перевод Google:
"Конфигурация буфера и размера страницы Массив памяти устройств DataFlash на самом деле больше, чем у других устройств Serial Flash, в этом дополнительном доступном пользователю байты предоставляются на каждой странице массива памяти. Для AT45DB161E есть дополнительные 16 байтов памяти в каждая страница в сумме дает дополнительные 64 КБ (512 КБ) доступной пользователю памяти. Следовательно, плотность устройства на самом деле 16,5 Мбит вместо 16 Мбит. Некоторые приложения, однако, могут не захотеть воспользоваться этой дополнительной памятью и вместо этого спроектируют свое программное обеспечение так, чтобы работают по двоичной логической схеме адресации «степень двойки». Для этого можно настроить DataFlash так, чтобы размеры буфера и страницы равны 512 байтам вместо стандартных 528 байтов. Кроме того, конфигурация буфера и размеры страниц являются обратимыми и могут быть изменены с 528 байт на 512 байт или с 512 байт на 528 байт. Настроенный настройка хранится во внутреннем энергонезависимом регистре, поэтому на конфигурацию буфера и размера страницы не влияет питание. циклы. Энергонезависимый регистр имеет ограничение в 10 000 циклов стирания / программирования; поэтому следует соблюдать осторожность, чтобы не переключать между вариантами размера более 10 000 раз. Изначально устройства поставляются с Adesto с размером буфера и страницы, равными 528 байтам. Устройства можно заказать в Adesto предварительно сконфигурирован для двоичного размера «степень двойки», равного 512 байтам. Для получения дополнительной информации см. Раздел 27. Информация для заказа на стр.63. Чтобы настроить устройство на размер двоичной страницы «степень двойки» (512 байт), используйте 4-байтовую последовательность кода операции 3Dh, 2Ah, 80h и A6h должен быть тактирован в устройство. После того, как последний бит последовательности кода операции был синхронизирован, вывод CS должен быть деактивировано, чтобы инициировать внутренний самосинхронный процесс конфигурации и программный цикл энергонезависимого регистра. В программирование энергонезависимого регистра должно происходить во время tEP, в течение которого бит RDY / BUSY в Регистр состояния покажет, что устройство занято. Устройство не требует иного включения после завершения процесс конфигурации и цикл программы регистрации, чтобы размер буфера и страницы был настроен на 512 байт. Чтобы настроить устройство на стандартный размер страницы DataFlash (528 байт), используйте 4-байтовую последовательность опкодов 3Dh, 2Ah, 80h и A7h должен быть тактирован в устройстве. После того, как последний бит последовательности кода операции был синхронизирован, вывод CS должен быть деактивировано для инициализации внутреннего самосинхронного процесса конфигурации и цикла программы энергонезависимого регистра. В программирование энергонезависимого регистра должно происходить во время tEP, в течение которого бит RDY / BUSY в Регистр состояния покажет, что устройство занято. Устройство не требует повторного включения и выключения после завершения процесс конфигурации и цикл программы регистрации, чтобы размер буфера и страницы был настроен на 528 байтов."
Не совсем понял как переключать размер страницы, но взяв у товарища такой же Orange5 как у меня, и считал флешку разными программами и программаторами. В RT809H при выборе AT45DB161E(PAGE 512B) или AT45DB161E(PAGE 528B) флеха читается
как флэш память 264 байт на страницу. Но при этом у них разная стартовая позиция в буфере, и разные контрольные суммы:
010: Текущий выбор:AT45DB161E(PAGE 528B)@SOIC8, емкость: 16.50Mbits, 2Mbytes.
011: OTPРазмер данных: 512 bits 64 bytes стартовая позиция в буфере 0x210000.
012: http://www.ifix.net.cn/thread-13005-1-7.html
013: >------------------------------------OK---------------------------------------<
014: С контактами все в порядке. Поехали!
015: ID микросхемы проверен.
016: Старт чтения микросхемы......
017: флэш память 264 байт на страницу.
018: Чтение завершено. Заняло 2.967 сек.
019: Автоматическое сравнение.
020: Сравнение завершено. Заняло 2.971 сек.
021: Контрольная сумма данных буфера: 16bits_0xFD9F 32bits_0x2041FD9F :
029: Текущий выбор:AT45DB161E(PAGE 512B)@SOIC8, емкость: 16Mbits, 2Mbytes.
030: OTPРазмер данных: 512 bits 64 bytes стартовая позиция в буфере 0x200000.
031: http://www.ifix.net.cn/thread-13005-1-7.html
032: >------------------------------------OK---------------------------------------<
033: С контактами все в порядке. Поехали!
034: ID микросхемы проверен.
035: Старт чтения микросхемы......
036: флэш память 264 байт на страницу.
037: Чтение завершено. Заняло 2.876 сек.
038: Автоматическое сравнение.
039: Сравнение завершено. Заняло 2.886 сек.
040: Контрольная сумма данных буфера: 16bits_0xFD9F 32bits_0x1F42FD9F :
Поэтому правильным будет дамп AT45DB161E(PAGE 528B). А когда я первый раз попытался записать флеху с добавленной лицензией M08V, мой RT809H сразу включил перед записью автоматическую очистку микросхемы, и видимо это стирание и изменило размер страницы с 528 bits на 512 bits. В итоге я получил ошибку записи. В этом я убедился попробовав считать рабочую AT45DB161E моего товарища при помощи программатора CH341 и программы AS Programmer. она читалась только при выборе AT45DB161E(PAGE 528B), а при выборе AT45DB161E(PAGE 512B) давала ошибку "Проверьте настройки
Page Size Error, value= 528. В этой же программе есть кнопка снять защиту, а в ней прочитать регистр. В рабочей флехе регистр: Status register: 10101100, а в моей после очистки Status register: 10101101. А еще в кнопке снять защиту есть опция изменить регистр, вот там и открывается вся картина.
В рабочей:
В моей после очистки:
Вот тут я обрадовался - сейчас все исправлю, а не тут то было, птички не убираются и не добавляются - обидно, но похоже нужно заказывать новую флеху и писать не стирая при помощи AS Programmer, там можно не стирая. Потом попробовал в Orange5 считал статус рабочей флехи:
И моей нерабочей:
В Orange5 галочки ставятся и убираются, но при нажатии ОК ни чего не сохраняется.
В RT809H статус не читается, но запрограммировать тоже теоретически можно, галочки ставятся и есть кнопка запись, но тоже в реале статус не меняется.
Заказал новые флехи 3 штуки, буду эксперементировать. А пока буду ждать флехи, может кто подскажет как изменить размер страницы по даташиту, может нужна отладочная плата а не программатор, или статус можно изменить только один раз.
Выкладываю еще один дамп флешки AT45DB161E ORANGE 5_1.36_SN 38CD считанный точно правильно.
Orange 5_1.36_SN 38CD AT45DB161E(PAGE 528B).rar