Тестируем програматор SPI FlashROM 25VF080

  • Автор темы zeppelin
  • Дата начала
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
Вот стали попадатся чаще изделия с флэшкой довольно таки большого размера . Ну например SST25VF080 или сокращенно 25VF080 .

Редко , но иногда надо прошить это изделие .
Вот и программатор нужен - простой и действующий реально .

Главное простой и максимально быстро делающийся .
С наворотами всяких есть много .
У меня есть возможность пользовать Фитоном например - только надо подойти в другое мето недалече . Но это не мой программер . Не люблю просить услуги и надоедать , к тому же ПЕРЕХОДНИКИ к нему - менингит всегда . Когда нет под ту или иную микру .

Ну в общем есть вариант мегапростого , аскетичного и кажется работающего програматора под ряд микр .
Переходник я сделал сам из разного рода валяющихся старых панелек под память старых материнок . Это дело фантазии каждого - из чего приспособить . В лом по 20 баксов давать за панельку многоразовую . В изделии , в котором стоит флэшка - почему-то мне страшно НЕ ВЫПАИВАЯ из изделия - пробовать прошивать .

В общем такие вот микрушки обрабатывает этот програматор :

SPI FlashROM supported
**********************

Atmel:
AT26DF041 (512kB)
AT26DF081 (1MB)
AT26DF081A (1MB)
AT26DF161 (2MB)
AT26DF161A (2MB)
AT26DF321 (4MB)

Intel:
QB25F016S33B8 (2MB)
QB25F032S33B8 (4MB)
QB25F064S33B8 (8MB)

Macronix:
MX25L1005 (128kB)
MX25L2005 (256kB)
MX25L4005 (512kB)
MX25L8005 (1MB)
MX25L1605 (2MB)
MX25L3205 (4MB)
MX25L6405 (8MB)

Spansion:
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A (4MB)
S25FL064A (8MB)
S25FL128P (16MB)

SST:
SST25VF010 (128kB)
SST25VF020 (256kB)
SST25VF040 (512kB)
SST25VF040B (512kB)
SST25VF080A (1MB)
SST25VF080B (1MB)
SST25VF016 (2MB)
SST25VF032 (4MB)
SST25VF064 (8MB)
SST25VF128 (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)

ST Microelectronic:
M25P10 (128kB)
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB)
M25P64 (8MB)
M25P128 (16MB)

Winbond:
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB)
W25X16 (2MB)
W25X32 (4MB)
W25X64 (8MB)

===================

Он предельно прост . Паралельный порт , пять проводков к варианту для 25VF080 .
несколько резисторов - и готово .
Програмка сделана аскетично и выполняется в командной строке DOS .

=============

Список команд для исполнения :

spipgmw.exe /i :r :d :e : p : filename adress size /=iobase /d=delay - типы команд .

/i - identify SPI ROM (Это команда для идентификации микры . "Видит" тип изделия .
Информационная команда исключительно . Дает также информацию о состоянии битов разрешения считывания-записи , и соответсвенно в каком состоянии защиты изделие . Согласно таблички от даташита - можно видеть , режим protect total , read only , write-read . )

/r adress size read & display data block 0x prefix = hexa number
(Вывод на екран , считать блок , кусок памяти определенный при считывании . )

/d filename - dump entire FlashROM to file
(Записать в бинарный файл весь дамп при считывании . Синтаксис , например: {spipgmw.exe /d noname.bin} Дамп считается и запишется в файл noname.bin )

/p filename - program entire FlashROM from file (without erase)
(Запись с стиранием . Вказывается файл из которого берется дамп - который

надо зашить . Синтаксис :
{spipgmw.exe /p isxodnik.bin} Например прошива в файле под названием isxodnik.bin -

она и запишется . )

/e - erase entire FlashROM
(Просто стереть микру )

/u - unlock write protection bits (may depend on WP# level)
(Самая интересная позиция с операциями по ЗАЩИТЕ . Нога 3 - это вывод ПРОТЕКТ-ЗАЩИТА . Имеет три состояния . Замкнут на массу , замкнут на плюс питания 3.3 вольта и висит в воздухе . Все состояния - по отдельности ставят или снимают биты защиты . Подробней в файле от даташит - я выделил . Есть вариант текстовый и doc из оригинального pdf . )

/l = LPT port I/O base adress (default is 378h - LPT1)
(Выбор порта .По умолчанию LPT1 - паралель порт по прерыванию 378 .)

/d additional delay for SPI clock pulse width (usec) (default is 0)
(Эту позицию не исследовал . Задержку наверно не умею в правильных величинах ставить . Позже надо исследовать . По умолчанию - 0 . )

В общем все просто . В окне "Пуск" - окошко "Выполнить" - и ввести команду cmd .
Появится окно командной строки эмуляции DOS .

===========================
В упакованном файле Datasheet25VF080 - набор файлов инфы о вышеупомянутой микре .

В упакованном файле ProgrammerSPI - тело програматора , набор исполнительных файлов под Висту , W9х , DOS . Кому как надо . Работает и на стареньком лаптопе с Пнем1 и и на платформе поновей .

===========================
Для подключения к паралельному порту - такая вот распиновка -

LPT toSPI pin assigment (bases on BSD AVR programmer)

#7 = D5 = CS#
#8 = D6 = SCK (CLK)
#9 = D7 = MOSI (DIO)
#10 = ACK = MISO (DO)
#18 = GND = GND

Фотка схемы намалеванной рукой за минутку на листке бумаге .
Некогда окультуривать в рисовалках .

Механиески - я лично взял старый сканнер , выкоручал плату с разъемом "папа" для LPT - и обрезал по самое нехочу - так чтоб обойтись без шнура . Втыкаю сразу в зад компа .

==================

В общем , в данный момент одна микрушка у меня шьется плохо . Стирается нормально - но после прошивки - дамп при сравнении , верификации - не отвечает оригиналу .

Если кому надо и интересно , и ЕСТЬ под рукой такая микруха - поделитесь тестированием этого аскетичного программера для таких изделий .

В данный момент особо интересует тестирование 25VF080 . Не знаю - или у меня микра плохая , и надо заказать-купить . Или даю где-то дупля с програматором этим .

В субботу вечером побаловался , слепил быстренько , вроде пашет - но вопросы вышесказанные остались .
То есть не знаю - или микра плохая - или чего то не доделал , или не так делаю .

Биты защиты ставятся , снимаются , стирается - но при верификации не совпадает дамп оригинал и то что записал ось в микру .

Может у кого есть такая микруха - чтоб попробовать , опробовать и протестировать этот аскетичный програматор вместе .

=============
Благодарность творцу , написателю тела файлов этого програматора - Мартину Rehak . Я просто взял у него и решил использовать под свои нужды .
=============

Файл Datasheet25VF080.rar - здесь http://monitor.net.ru/forum/sst25vf080-download-23067.html

Файл ProgrammerSPI.rar - здесь http://monitor.net.ru/forum/programatorspi-flashrom-download-23068.html

 
М

Молдованин

Участник
Регист
4 Апр 2005
Сообщения
97
Я сталкивался с "разработками" этого поляка. Аналогично спаял бюджетный программатор. Микросхема правда WINBOND 25X40. Читал хорошо. А вот при прошивке тупо её убил. С трудом нашел в наших краях такую же флешь. Перешил на горячую.
 
A

almaks

Участник
Регист
1 Окт 2004
Сообщения
565
После оценки Молдованин, рисковать не стал, но коли тема о SPI интерфейсе надеюсь автор топика позволит обсудить паралельно эту оболчку  ссылка скрыта от гостей  все прелести которой в использовании железа PonyProg который есть наверное у всех. Програматор получается так же бюджетный, но прошить флеш 25L8005 мне не удалось, другие SPI флеши не пробовал их поддерживает всего 3, а квадратная шина шьется на ура, хотелось бы обратится к тем кто может возможно ли написать плагин(ы) для новых флешек в частности для 25L8005.
 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
Молдованин сказал(а):
Я сталкивался с "разработками" этого поляка. Аналогично спаял бюджетный программатор. Микросхема правда WINBOND 25X40. Читал хорошо. А вот при прошивке тупо её убил. С трудом нашел в наших краях такую же флешь. Перешил на горячую.
Во первых это не поляк никакой . А чех .
Вот его страничка -  ссылка скрыта от гостей 

Во вторых моя флэш под большим подозрением - что неисправна в изделии .
Изделие вышло из строя по питанию . Так что ....
Наверно завтра протестирую ее на ChipProg .
Надо будет сходить и отбросить домыслы о "убиении" и ради того чтоб истину по теме найти . Это два ...

--------------

Добавлено 24.03.2009 10:40

almaks сказал(а):
После оценки Молдованин, рисковать не стал, но коли тема о SPI интерфейсе надеюсь автор топика позволит обсудить паралельно эту оболчку  ссылка скрыта от гостей  все прелести которой в использовании железа PonyProg который есть наверное у всех. Програматор получается так же бюджетный, но прошить флеш 25L8005 мне не удалось, другие SPI флеши не пробовал их поддерживает всего 3, а квадратная шина шьется на ура, хотелось бы обратится к тем кто может возможно ли написать плагин(ы) для новых флешек в частности для 25L8005.
Ну я на пост Молдованин не реагирую . Ничего не пробовал - а уже сомнения посеял .

Касательно линка о изделии - посмотрел .
Ни в какое сравнение не идет с возможностями дешового и доступного WillemProg . Стоимость его - смешная . Ну самой платки с кучей разъемов для намного разнооббранейшей типовухи корпусов и памятей .
Проигрывает .
Но Виллем - с SPI изделиями не "дружит" хорошо - нету многих позиций .

В общем то - УНИВЕРСАЛЬНОГО програматора нету вообще . В одном те изделия , в другом другой перечень памятушек и программируемых изделий .

Ну например ChipProg дорогой - есть и доступен мне . Но как упоминал - пролема с переходниками . Надо делать специально для каждой отдельно . Или покупать у них - за 30-40 баксов . Дороговато для одной флэши .
В общем исследование продолжаю .
:cool:
 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
:cool:
В общем все работает отлично . Потом подробней напишу как надо управлять процессом .
Там есть нюансы как раз с битом защиты .
:cool:


Примеры синтаксиса команд для командной строки -

SPIPGMW.EXE /i --- команда инфо - показывает состояние защиты записи и тип микры

SPIPGMW.EXE /u --- унлок - снятие битов защиты , разрешение , активация WE - ЗАПИСЬ _РАЗРЕШИТЬ .

SPIPGMW.EXE /e --- стереть память всю . Есть с указанием от и до - область по началу и концу адресами - стереть кусок определенный .

SPIPGMW.EXE /d proba_read.bin --- считать дамп в файл proba_read.bin

SPIPGMW.EXE /p write_to_chip.bin --- записать микру из дампа write_to_chip.bin

Названия файлов - условные , для примера .
Кстати - не стирает файлы с одинаковыми названиями . Не забывайте "называть" их по разному .
 
A

almaks

Участник
Регист
1 Окт 2004
Сообщения
565
zeppelin, потом на долго не откладывай, так же шью на автопроге у друзей, но людей достовать то же не сильно охота. Сегодня пытался прошить по твоим ссылкам на 25L8005 ушло минут 40 не срослось может делаю, что не так.
 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
Касательно двух типов :
SST25VF080B (1MB)
W25X80 (1MB)

Нормально шьются , читаются и снимаются биты защиты .

Впрочем вот сама процедура . Описываю , потому что интерфейс данного прогера абсолютно "неджружественный" . То есть все надо делать в командной строке .

Добавление :
по выводу 3 - WP# - врай-протект - надо поставить джампер или выключатель - которыми надо прижимать к +3 вольт вывод врайт- протект .

Почему ?
Потому что так пишет процедура в даташите .
Надо замкнуть WP# на + , и дать команду снять биты защиты .
Они (биты защиты) сразу инициализуются - при дачи команды /i - команда "инфо" .

После снятия запрета на запись - командой /u - unlock - все биты стают в состояния разрешения записи во все области или разделы микросхемы .
И состояние инициализируется - все по нулях 00000000 .
Восемь битов .

Потом процедура СТИРАНИЕ .
Команда /e - erase - стираем всю микру .

Для того чтоб удостоверится в чистоте - надо создать проверочный дамп - чтоб проверить все ли FF прописалось .

Если после стирания остались , есть адреса - где прописалось не FF , значит микра имеет сектор неисправный . Значит она неисправна .


Потом , после верификации на "чистоту стирания" - можно писать нужное .Командой /d - считывание всей памяти , ее дампа в файл бинарный .

Команда /p - запись микросхемы дампом нужным .

Потом можно опять таки , для уверенности верификацию сделать .

Полный синтаксис в примерах - смотрите выше .



В общем повторюсь - Касательно двух типов :
SST25VF080B (1MB)
W25X80 (1MB)

прекрасно пишутся , стираются и снимаются биты защиты .


:cool:

Добавлено 26.03.2009 14:18

almaks сказал(а):
zeppelin, потом на долго не откладывай, так же шью на автопроге у друзей, но людей достовать то же не сильно охота. Сегодня пытался прошить по твоим ссылкам на 25L8005 ушло минут 40 не срослось может делаю, что не так.
О 25L8005 - не могу сказать ничего . Пока мне такая и на глаза не попадалась микра .

Советую даташит посмотреть - и обратить внимание на процедуру снятия запрета на запись .

Я сначала для опробованных выше типов микр - как раз эту процедуру , ПОСЛЕДОВАТЕЛЬНОСТЬ снятия запрета на запись - делал не правильно .

Неудобно конечно - примитив прога - все в командной строке - нодо внимательно помнить что и как - ПО ПОРЯДКУ делать .

В моем случае .

Будут другие типы микр у меня - напишу как они себя ведут .

Мелочь одна .
Питание 3.3 вольта - надо хорошее давать . Это важно при ЗАПИСИ микры . Не упускать эту важную мелочь .

Добавлено 26.03.2009 14:21

almaks,
вопросик ,

а прога програматора - "увидела " по идент номеру - тип микры ??
У меня "видит" - вышеперечисленные .
По нему определяется тип , производитель микры .
Команда "инфо" - /i .

Добавлено 26.03.2009 14:44

Внимание !!!

Я неумышленно допустил оплошность .
На рисованной сземке - ВЫВОДЫ , нумерация неправильная . 8 - 7 - 6 - 5 .

То есть по маркировке правильная , НАЗВАНИЮ выводов , правильная . Ну то есть Vcc , HOLD# , CLK , DIO - все правильно .

А по физичекому в корпусе номерации - НЕ правильная .

Извиняюсь . Машинально и неумышленно оплошал .

Сравните с даташитом по нумерации выводов корпуса .

Потом переделаю схемку покультурней .

Неумышленно в спешке случилось .
 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
Исправлена упомянутая ошибка - умышленно сделал это на старом рисунке .
Позже культурно в рисовалке нарисую качественную схемку .
Сейчас в режиме тестирования - это особо значения не имеет .
 
A

almaks

Участник
Регист
1 Окт 2004
Сообщения
565
zeppelin, конечно прога мелкосхему не увидела, я же распаял не глядя на распиновку соответственно + подал на sclk и si :gigi: , сейчас маленько освободился попробую если успею, нет тогда до понедельника.
 
М

Молдованин

Участник
Регист
4 Апр 2005
Сообщения
97
zeppelin сказал(а):
Во первых это не поляк никакой . А чех .
Вот его страничка -  ссылка скрыта от гостей 
Чех, так чех, я всеравно их кирилицу не понимаю.

zeppelin сказал(а):
Ну я на пост Молдованин не реагирую . Ничего не пробовал - а уже сомнения посеял .
Реагировать или нет, это ваше право. Что значит ничего не попробовав? Нужно было запалить коробку флешек? Пришлите их мне в Приднестровье. И не сомнения посеял, а предупредил о возможных косяках.
Предупрежден, вооружен.
 
Г

Генчик

Молдованин сказал(а):
Читал хорошо. А вот при прошивке тупо её убил.
Молдованин, флешки нередко прекрасно читаются, но при попытке записи убиваются. Так что программатор скорее всего ни при чём, тебе просто не повезло (при условии, что делалось не кривыми ручками), и один раз - это не система.
 
М

Молдованин

Участник
Регист
4 Апр 2005
Сообщения
97
Логично, не вопрос.
 
M

Michael666

Участник
Регист
6 Апр 2005
Сообщения
2.472
Довесте после резисторов на каждую шину по стабилитрону 3V3 - флешки живее будут :)
OFF(возможно)
А вообще в компьютерах уже поднимали тему про эти флешки со SPI интерфейсом , там схема посложнее , но точно работает и без сбоев :)
http://monitor.net.ru/forum/viewtopic.php?t=180217&highlight=spi - на всякий случай :)
 
A

almaks

Участник
Регист
1 Окт 2004
Сообщения
565
zeppelin, в общем ни чего у меня не получилось, пробовал флеши W25X40, MX25L8005 из тех что в списке и кучу других не поддерживаемых, кругом одна картинка, не снимается защита и не определяется мелкосхема хотя тактирующая, данные идут прога делает вид, что пишет-читает в дампе нули. Напряжения питания менял от 3 до 3,5 вольт пытался подбирать резисторы на ножки 1,2,5,6 вот результат, правда делал все из под ХР пытался из под ДОС там прога не работает совсем. :(

Добавлено 31-03-2009 09:25

Да еще в кмос менял значения порта от ЕРР до нормал, в общем сдаюсь :(

 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
almaks сказал(а):
zeppelin, в общем ни чего у меня не получилось, пробовал флеши W25X40, MX25L8005 из тех что в списке и кучу других не поддерживаемых, кругом одна картинка, не снимается защита и не определяется мелкосхема хотя тактирующая, данные идут прога делает вид, что пишет-читает в дампе нули. Напряжения питания менял от 3 до 3,5 вольт пытался подбирать резисторы на ножки 1,2,5,6 вот результат, правда делал все из под ХР пытался из под ДОС там прога не работает совсем. :(

Добавлено 31-03-2009 09:25

Да еще в кмос менял значения порта от ЕРР до нормал, в общем сдаюсь :(
Хм .

А у меня получилось прошить две микры .

Есть у меня подозрение одно .
Оно основано на том - что я переносил самодельную платку-переходник с одного компа - на другой .
С одного помещения в другое переходил .
Условно назву компы "первый" и "второй" .

И на втором компе - почему то не работало .
Не заморачивался . Опять на "первом" компе доделал дело .

Так дело кажись в БУФЕРЕ .
На втором компе - я замерил напряжения на I\O коннектах порта - оно было 4-4.5 вольта .

На первом - только 3.7-3.9 .
Разница потенциалов на испозоемых выводах LPT порта - очень значительная !!!! - все замеры в режиме READ делал .

То есть на том компе - где потенциалы меньше 4 вольт - работает програмирование этих микр . У меня .

"Первый" комп - это не новая Асус мамка простенькая .
"Второй" комп - это лаптоп Пень2 старый .

Вот на лаптопе - не шьется .

Наверняка причина в буфере .

Я вот думаю сделать буферок на микре 75НС244 .
Или на другой можно .

Так что , almaks , - кажись дело в потенциалах на буферах .
Не дружит напрямую програмирование этих микр .
Потому что питалово буферов - 5 вольт , а питалово этих рядаа микр - 3.3 вольта .
Вот и не идет процесс - из-за конфликта потенциалов на используемых вход-выходах портов LPT .
Я так думаю .

Почему у меня такая разница на моих портах , в двух случаях компов разных - я тоже не знаю .

======================

Не в тему а касательно ей .
Конкретно программера - Фитоновского ЧипПрога .
Тоже опробовал .
Есть свои подводные камни .
Например - почему-то кричал и ругалась прога - что контакты плохие в коннекте гребенки зажима .
Ну исключено это . Не знаю это что такое было .

=====================

В общем сделаю вариант с буфером на 244 микре .

=====================
ПС .
Тему надо будет окультурить . Схемку нарисую красивую немного позже .
 
Г

Генчик

zeppelin сказал(а):
В общем сделаю вариант с буфером на 244 микре .
zeppelin, есть мысля, а что, если запитать 74HC244 от 3,3V, они это позволяют. Тогда логические уровни должны совпасть.
 
Z

zeppelin

Участник
Регист
16 Мар 2004
Сообщения
633
Генчик сказал(а):
В общем сделаю вариант с буфером на 244 микре .
zeppelin, есть мысля, а что, если запитать 74HC244 от 3,3V, они это позволяют. Тогда логические уровни должны совпасть.

Вот именно !
Это кратко говоря именно то, что я хотел сказать.
Я немного сумбурно излагаю, но кто заинтересован, тот поймет.
 
A

almaks

Участник
Регист
1 Окт 2004
Сообщения
565
На "исследовательские" дела со временем туго, чуть отвлекся влево вправо глядь в семье деньги заканчиваются, т. что извини если что выйдет с удовольствием повторю. :)
 
G

Grek

Забанен
Регист
10 Сен 2004
Сообщения
491
пробуйте это  ссылка скрыта от гостей  Првда A25L80P не определил
 
М

Молдованин

Участник
Регист
4 Апр 2005
Сообщения
97
Grek сказал(а):
пробуйте это  ссылка скрыта от гостей  Првда A25L80P не определил
Какой софт используется?
 
Б

БМК

Участник
Регист
27 Мар 2006
Сообщения
2.750
Молдованин, софт в архиве лежит  ссылка скрыта от гостей 
 
G

Grek

Забанен
Регист
10 Сен 2004
Сообщения
491
Железку для него можно сделать по схеме SPI_TT, работает.
 
М

Молдованин

Участник
Регист
4 Апр 2005
Сообщения
97
Кто будет повторять сей девайс, печатка в зеркале, это хорошо. Но нужно проверять настройки принтера, у меня почему то вывело как 95%.....на днях соберу отпишусь.
 
E

Eugene31

Участник
Регист
25 Окт 2008
Сообщения
1.149
Молдованин, получилось что нибудь с этим программатором? У меня два ноутбука HP 6820s, уже устал по 50 уе отдавать за перепрошивку, а на BIOS стоят SST25VF080B, хотелось бы самому уже их шить. Да и в автоэлектронике часто они попадаются, как раз по моему профилю.
 
M

madhands

Участник
Регист
17 Фев 2007
Сообщения
362
Уважаемые Форумчане, скачал прогу по ссылке:  ссылка скрыта от гостей , читает превосходно, но никак не пойму: позволяет ли она разблокирывать флэшь (EN25T80)? Если да, то какова последовательность действий (собственных мозгов, к сожалению, не хватает) ? :help:
 
Верх