Недавно мне приносили в ремонт материнскую плату MSI-7529 v.2. Как оказалось неисправность классическая — поврежден BIOS, и его необходимо просто перепрошить… НО … Оказывается, что на современных материнских платах теперь вместо обычной Flash ROM установлена «флешка» с последовательным интерфейсом Winbond 25X40VSIG (SPI Flash ROM). и сама микросхема значительно уменьшилась в размерах (см. первую фотографию данной статьи). К таким нововведениям я был естественно не готов. Мой старенький программатор был не готов совладать с этой штукой. Пришлось срочно лезть в интернет, и искать способ прошить BIOS, как говорится «на коленке».
Информация была найдена быстро. Прошить ее было можно, подключив к компьютеру через LPT-разъем.
Да и программа для прошивки тоже нашлась на одном из европейских сайтов (http://rayer.g6.cz/elektro/spipgm.htm). Осталась одна проблема — подать на микросхему питающее напряжение 3.3 вольта. Это для меня тоже не проблема. Напряжение в 5 вольт есть на стандартном USB, а преобразовать его в 3.3 можно при помощи APL1117-3.3, которые очень часто встречаются на материских платах, видеокартах и других компьютерных комплектующих (коих в моем распоряжении целая полка).
В результате получилась следующая схема:

Программа для прошивки: http://rayer.g6.cz/programm/programm.htm#SPIPGM
Она работает как под DOS, так и под Windows XP. Команды для программирования:
SPI FlashROM Programmer 2.1 (C) 2008-2012 by Martin Rehak;
Compiled by GCC 4.6.2 at 02:07:49, Apr 19 2012
(Win9x/NT/2K/XP compatability)
SYNTAX: spipgm /<command> [filename] [address] [size] [/l=iobase] [/d=delay]
commands: i - identify SPI FlashROM
r address size - read & display data block (0x prefix = hexa number)
d filename - dump entire FlashROM to file
p filename - program entire FlashROM from file (without erase)
v filename - verify FlashROM content against file
e - erase entire FlashROM
eb address count - erase 64kB blocks from address (0x prefix = hexn.)
u - unlock write protection bits (may depend on WP# level)
l=* - LPT port I/O base address (default is 378h - LPT1)
d=* - additional delay for SPI clock pulse width [usec] (default = 0)
Сразу же предупреждаю, что данная схема без гальванической развязки, и ее применение может вывести из строя ваш LPT-порт. Поэтому, лучше всего сперва сделать все подключения при выключенном компьютере, а потом произвести включение компьютера и прошивку. По окончании прошивки необходимо сперва всё отключить, а уже потом отсоединить ваш «прошивальшик» от компьютера.



Круто. И как это все в голове держать!!!
А у меня не запускается прога, открывается на секунду и закрывается. Как этого избежать?
Данная программа рассчитана на работу из командной строки, а лучше вообще из под «голого ДОСа». Из под Windows запуск ярлыка именно так и будет выглядеть. Потрудитесь открыть командную строку. Потом перейти ручками в каталог с программой (ну cd …..) и далее набрать нужную команду для запуска прошивальщика.
Так же могу предположить, что данная программа может некорректно работать под vista, 7-кой и 8-кой.
Таки да,сегодня с помощью SPIPGM реанимировал умерший было телеящик Helix HTV-163L ,там прошивка была залита на spi флеш 25q32bvs1g ,корпус маленький,гнезда,кроватки такого нету,пришлось подпаиваться прямо к ногам микрухи..шил из под доса,всё определилось,прочиталось,стёрлось и залилось просто замечательно,шайтан-коробка снова ожила и завтра отправится радовать хозяев) …(Надо бы не забыть им напомнить,чтоб,расхаживая вечером по квартире в шерстяных трусах-не тёрлись об телевизор,во избежание повторного поражения его нежных внутренностей статикой….))