прошивка MX25L4005

слетела прошивка на материнке, биос MX25L4005,
Перечитал все что мог на форуме, но внятного ответа так и не нашел.
разьема на матери SPI нет
что могу:
1 отпаять флешку
2 есть программатор willem3m/35
вопрос - можно ли прошить на этом прогере?
если нет, то может как его переделать?

Facyk писал(-а):
Willem беспроблем заливает эти флешки, ток надо скачать новую версию программы и там добавленно большое количество SPI Flash...
Угу и заодно слегка переделать плату:).

Ну на счёт Willem 3/4 незнаю... но у меня 4.5 и без переделок всё пошло... но ставил микруху mx25l8005)

Цитата:
но у меня 4.5 и без переделок всё пошло
Угу. И ПО, которое поддерживает SPI флешки тоже работает с PCB4.5, а у автора PCB3.x:).
PCB3.x тоже можно переделать, но иногда значительно проще сваять персональный программатор для SPI флешек.

Ну тут уж сори )))... я для информации сказал чем прошить можна... а вам видней;)

Аватар пользователя R_Soft

Пока читал тему, рыдалъ от изысканий ув. search_max'а:) Ну там, всякие подстроечные "резюки" (или резаки)...

По теме: после попыток перепрошить проблемную зависающую MB Gigabyte GA-965P-S3, на 80% прогресса перешивки она таки повисла...:) Причем манипуляции с HDD Auto-Recovering не давали никакого эффекта. Обсосал тему по вопросу рекаверинга БИОСа с HDD, расковырял код родного БИОСа посмотреть, что же там такого "ключевого"... ничем не отличается от дампов, приведенных mikkey. Пришлось "ваять" прогамматор, предложенный OLIFA...
Программатор работает без особых нареканий. Стабилизатор 3,3 В делал на LM1117-3.3. Параллельно флеше, традиционно, поставил блокировочную емкость 0,1 мкФ. Токоограничительные резисторы 0805 нашел номиналом 120 Ом. Реадми.тхт о поддерживаемых флешах сразу не читал, поэтому здесь немного осекся - проверял на M25P05 (64 кБ). Ессно, с ключом /i (идентификация) не работает... Полез за осциллографом, смотреть ошибки в "четырех припаянных проводах".:) Везде сигналы есть, ставлю delay 100 - опять с ключом /i не определяется... Ладно, пробую читать содержимое - читает, странно... Потом только смотрю Реадми.тхт в котором поддержки указанной флеши нет.:) Но, повидимому, стандартными командами чтения/записи всё работает. Уверенно читает без ключа задержки /d=xxxx. Но, всё же, для режима чтения поставил /d=10 (для уверенности). Для записи пришлось ставить /d=100 - потому как без делэй писать не хочет.


P.S. OLIFA плюх в репутацию за ссылку.:)
Добавлено спустя ...надцать часов.
Час от часу не легче...
Поигравшись с ещё одной флешкой M25P05, путем проб и ошибок определил, что параметр /d= не критичен. Почему неуверенно писало первые разы - не известно.
Основная проблема вот в чем:
Программатор был сделан как "конструкция выходного дня", слепленная на коленке из того что было... дабы перепрошить SST25VF080B с вышеуказанной материнки. Выпаял флешку, запаял на переходник, прочитал содержимое "запоротой" прошивки (содержимое вполне похоже на прошивку). Сделал Erase. Проверил на "чистоту" - ОК. Пишу новый БИОС, потом читаю - мусор. Ввожу зарежку, повторяю процедуры стирания, записи и чтения - аналогичный мусор. Причем байт в байт совпадающий с предыдущим.:) Убираю кабель-удлиннитель, тыкаю плату прямо в порт LPT - то же самое. Гружусь с флеши под Вин98-м ДОСом, добавляю недостающие CSDPMI файлики. Повторяю процедуру - всё точь в точь совпадает - тот же мусор.:) Кстати, делал unprotect, биты защиты снялись. Но положительного результата это не дало.
Неужели флеша таки умерла? Жаль, нет другой емкой флеши 25ххх чтобы опробовать ещё раз на другом "пациенте". Ну разве что ехать на базар и покупать один из вариантов, который есть на рынке - ST M25P80 или Atmel AT26DF081. Обе 8-мегабитки, НО! В таблице поддерживаемых флешей, в БИОСе нет таких... причем для каждой флеши свои процедуры работы стирания/записи... ну выглядит примерно так:
seg000:0E95 ID_TABLE	    db 0BFh		    ; DATA XREF: RD_ID_Flash+Eo
seg000:0E95					    ; SST - First Byte - Manufacturer ID
seg000:0E96		    db	44h ; D		    ; SST25VF040A - Second Byte	- Device ID
seg000:0E97		    dw offset SST_CALL
seg000:0E99 ;
seg000:0E99		    db 0BFh ; ┐		    ; SST
seg000:0E9A		    db	8Dh ; Н		    ; SST25VF040B
seg000:0E9B		    dw offset SST_CALL
seg000:0E9D ;
seg000:0E9D		    db 0BFh ; ┐		    ; SST
seg000:0E9E		    db	80h ; А		    ; SST25VF080
seg000:0E9F		    dw offset SST_CALL
seg000:0EA1 ;
seg000:0EA1		    db 0BFh ; ┐		    ; SST
seg000:0EA2		    db	8Eh ; О		    ; SST25VF080B
seg000:0EA3		    dw offset SST_CALL
seg000:0EA5 ;
seg000:0EA5		    db 0C2h ; ┬		    ; Macronix
seg000:0EA6		    db	20h		    ; MX25L8005
seg000:0EA7		    dw offset MXIC_WINB
seg000:0EA9 ;
seg000:0EA9		    db	9Dh ; Э		    ; PMC
seg000:0EAA		    db	7Eh ; ~		    ; PM25LV040
seg000:0EAB		    dw offset PMC_CALL
seg000:0EAD ;
seg000:0EAD		    db	9Dh ; Э		    ; PMC
seg000:0EAE		    db	13h		    ; PM25LV080
seg000:0EAF		    dw offset PMC_CALL
seg000:0EB1 ;
seg000:0EB1		    db	  1		    ; Spansion
seg000:0EB2		    db	  2		    ; S25FL008A
seg000:0EB3		    dw offset SPAN_SST_EON
seg000:0EB5 ;
seg000:0EB5		    db	20h		    ; Numonyx (ST & Intel)
seg000:0EB6		    db	80h ; А                 ; ???
seg000:0EB7		    dw offset SPAN_SST_EON
seg000:0EB9 ;
seg000:0EB9		    db	1Ch		    ; EON
seg000:0EBA		    db	12h		    ; EN25P40
seg000:0EBB		    dw offset SPAN_SST_EON
seg000:0EBD ;
seg000:0EBD		    db 0EFh ; я		    ; Winbond
seg000:0EBE		    db	12h		    ; W25X40
seg000:0EBF		    dw offset MXIC_WINB
seg000:0EC1 ;
seg000:0EC1		    db 0EFh ; я		    ; Winbond
seg000:0EC2		    db	13h		    ; W25X80
seg000:0EC3		    dw offset MXIC_WINB
seg000:0EC5 ;
seg000:0EC5		    db	  0
seg000:0EC6		    db	  0
seg000:0EC7 ;
seg000:0EC7 CMD_TABLE	    db 0ABh		    ; DATA XREF: RD_ID_Flasho
seg000:0EC7					    ; Command RDID
seg000:0EC8		    db	90h ; Р		    ; Command RDID
seg000:0EC9		    db	9Fh ; Я		    ; Command JEDEC ID (Two Bytes)
seg000:0ECA		    db	  0

Как вариант - подправить таблицу для Numonyx, второй байт (Device ID) поставить 20h (вместо 80h). Или для JEDEC ID - 20h & 14h. Кстати... не нашел у Numonyx'а (или ST) Device ID=80h

Партизан подпольной луны aka (R)soft

Аватар пользователя R_Soft

Пока нет возможности приобрести ST M25P80 и AT26DF081, поэксперементировал с AT25F1024N (1 Mbit). Эта флешь тоже не входит в список поддерживаемых, поэтому не читает сигнатуру, но программатор содержимое успешно прочитал. Пробовал Erase - не трёт, хоть с unlock, хоть без... Пробовал писать - пишет. Но при сравнении записанной прошивки с оригиналом очень много расхождений. Хотел глянуть внутрь программы прошивальщика - а программа оказалась покриптована UPX'ом, дальше не стал заморачиваться...

Партизан подпольной луны aka (R)soft

Аватар пользователя Skladchik

Может напишу не в тему - но хотелось бы выразить своё мнение по поводу прошивки SPI флэшей.
Как то все подзабыли о неплохом на мой взгляд решении . Я давно уже собрал себе это не сложное устройство - и у меня пока что не возникало вопросов с прошивкой флешей , вплоть до последних.


Использую версию програмки с этого сайта 1.0.2.7
Ранее тема этого програматора уже обсуждалась на нашем сайте.

Кто хочет - ищет способ
Кто не хочет - ищет причину (с)

Аватар пользователя R_Soft

Skladchik, решение, возможно, и гениальное... но, сайт требует авторизации.:) а нафик оно другим надо, спрашивается в задаче?;) Вся гениальность в простоте, и не надо регистрироваться, что характерно...
Итак, погуглив про SPI программаторы на базе Байтбластера, нашел сайтец spiflash.org который описывает железяку на базе ByteBlaster'а. И дается некая софтина под винду. Опробовал - прошить SST25VF080B удалось!
Пробовал шить AT25F1024 - выводит загадчный ID - Manufacturer Atmel, Memory Type 96, Capacity 0. Ну а если капасити ноль, то и шить/читать ессно не хочет... странно. Тогда попробую ещё на семействе ST Micro M25Pxx, отпишу результат.
Схема проста:
Стабилизатор на 3,3 В (LM1117-3.3) запитывает Байтбластер (на 74HC244) и флешу...
Разъем Байтбластера <-> Флеша
--------------------------------------------
1 TCK <-> CLK (6 pin)


2 GND <-> GND (4 pin)
3 TDO <-> DO (2 pin)
4 VCC <-> VCC (8 pin) <- со стабилизатора LM1117-3.3
5 TMS <-> /CS (1 pin)
7 nSTATUS <-> GND (сигнал заводится на GND для проверки подключения ByteBlaster'а программой)
9 TDI <-> DIO (5 pin)
10 GND <-> GND (4 pin)
Также, по стандартной схеме включения флеши - выводы 3 (/WP) и 7 (/HOLD) завести на VCC.
Между VCC и GND в непосредственной близости от флеши (или панельки) установить блокировочную емкость 0,1 мкФ. Питание брать с USB.
Дополнено...
Маленькие багфиксы и дополнения:
Чтобы Байтбластер определялся правильно (Test Hardware), нужно проверить, что 15 вывод LPT на Байтбластере заведен на GND (проверка подключения). А также проверить сигнал nSTATUS на GND.
Между выводом 2 (DO) и 8 (VCC) флеши добавить подтягивающий резистор 10 кОм.
Проверено на M25P05AV - ID не работает, но флеша читается/шьется/стирается. Повидимому программа рассчитана на емкие флеши.
Проверено на AT25F1024N - ID определяется частично (см. выше), соотв. не шьется/не читается/не стирается. А если и даешь попытку шить файл, то после прошивки не читает т.к. ID не известен:)
В общем опять где-то что-то не так... или не то...

Партизан подпольной луны aka (R)soft

Аватар пользователя savely

А с исходниками есть софт под такие типа программаторы? Там же как в юнифлеше - почитал даташит, добавил микруху, практически уверен... Ну, переходник еще...

А кому счас легко...

Аватар пользователя R_Soft

savely
Думаю, что есть. Но я глубоко не копал в этом направлении...
Вот, нашел славненький кроссреференс (Spansion® NOR Flash MemoryCompetitive Cross Reference Guide for Embedded Applications, January 2008) на флеш память фирмы Spansion.


Судя по показателю совместимости B- (Pin-for-pin compatibility – difference in sector architecture, # of banks, bank size.) выявились следующие претенденты на замену 8-мегабитных флешей:
AT26DF081A Atmel
S25FL008A Spansion
EN25P80 EON
EN25B80 EON
EN25F80 EON
MX25L8005 Macronix
25VF080B SST
M25P80 ST Micro
W25P80 Winbond
W25X80 Winbond
С вышеозначенными в предыдущих постах двумя флешами (AT26DF081A & M25P80) надо будет попробовать пошаманить в ближайшее время, пока у меня материнка ещё доступна...

Партизан подпольной луны aka (R)soft

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей