Как сделать программатор для прошивки микросхемы BIOS
Давно уже достал вопрос:
-"А как я прошью BIOS,если на экране ничего нет?".
Ответ:
-"На програматоре."
И сделать его очень легко.Поэтому я и решил создать данную тему.Тут особо объяснять нечего,я например собрал данный програматор специально для данной темы,Вы можете его видеть на фото 1.Всё нашлось дома и на него не было потрачено ни копейки.
Собственно понадобилось:
LPT шнур.
Четыре резистора по 100 Ом.
Один конденсатор 1uF.
Кроватка для батарейки.
Я ещё сделал клипсу для SOIC-8,но это я уже заморочился. сделана из обычного PCI порта снятого с не рабочей материнской платы,
шаг там как раз совпадает с шагом флешки BIOS.
В моём LPT шнуре провода были припаяны не так как мне надо,поэтому я перепаял их в соответствии с распиновкой указанной на рисунке 1,далее я припаял четыре резистора по 100 Ом на соответствующих проводах и поставил конденсатор между землёй и питанием с батарейки.Я завёл всё это дело в своеобразный кожух как видно первом фото,но Вы можете не заморичиваться.Ну и припаял провода к клипсе SOIC-8,в соответствии с распиновкой флешки BIOS.
Так же я сделал вариант этого же програматора с питанием от USB,Вы можете это видеть на фото 2.Как известно питание на USB +5V,но нам надо +3.3V,как быть?Опять же всё просто,за счёт резистивного делителя получаем нужное напряжение,на рисунке 2 я нарисовал USB разъём и его подключение к схеме.На питание +5V ставим резистор на 6.8 кОм,на землю ставим резистор 15 кОм,вторые выводы резисторов соединяем между собой и получаем между ними деление напряжения,у меня правда 3.4V получилось,но это вполне нормально для корректной работы.Так же важный момент заключается в том чтобы обязательно подключить землю от USB к земле в схеме как указано на рисунке 2.
Так получился полностью рабочий програматор который прошивает подавляющее большинство флешек BIOS.
В итоге если схема собрана полностью правильно,то он работает сразу.
Остаётся припаять флешку BIOS в соответствии с распиновкой и можно запускать прошивальщик SPIPGM.
Не знаю у кого как,многие говорят,что под WINDOWS не шьёт,не работает,но на деле у меня всё работает и под XP и под семёркой.
Как что делать:
Распаковываем прикреплённый архив в C:\Documents and Settings\(Ваша учётная запись)в моём случае KOL.
C:\Documents and Settings\KOL
Заходим в диспетчер устройств,вызываем свойства LPT порта,там есть вкладка"Параметры порта",переходим в неё и там выбираем "Использовать
любое прерывание,назначенное порту"->Ok.
Подключаем програматор к LPT порту,вызываем командную строку(Пуск->Выполнить->cmd->ENTER)откроется командная строка,
***Заметка***
Новая прошивка закидывается туда же где лежит программа прошивальщик.
***
далее набираем команды:
spipgmw /i,жмём Enter,флешка определилась.
spipgmw /u,жмём Enter,флешка разблокировалась.
spipgmw /d oldbios.bin,жмём Enter,сохранение старого дампа.
spipgmw /е,жмём Enter,флешка стирается.
spipgmw /p newbios.bin,жмём Enter,запись на флешку рабочего дампа(прошивки).
Далее на скриншотах можете видеть эти команды в действии.
AMIC:
A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB) — tested OK
Atmel:
AT25F512B (64kB)
AT25F1024A (128kB) — this chip may be supported but a tester is needed
AT25DF021 (256kB)
AT26DF041 (512kB)
AT25DF041A (512kB)
AT26F004 (512kB) — tested OK
AT26DF081 (1MB)
AT25/26DF081A (1MB)
AT25DF081 (1MB)
AT26DF161 (1MB)
AT26DF161A (2MB)
AT25DF161 (2MB)
AT25DQ161 (2MB)
AT25/26DF321 (4MB)
AT25DF321A (4MB)
AT25DQ321A (4MB)
AT25DF641(A) (8MB)
EON:
EN25B10 (128kB)
EN25B20 (256kB)
EN25B40(T) (512kB)
EN25B80 (1MB)
EN25B16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25Q40 (512kB)
EN25Q80 (1MB)
EN25Q16 (2MB)
EN25Q32 (4MB)
EN25Q64 (8MB)
EN25Q128 (16MB)
EN25F10 (128kB)
EN25F20 (256kB)
EN25F40 (512kB)
EN25F80 (1MB) — tested OK
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)
EN25T10 (128kB)
EN25T20 (256kB)
EN25T40 (512kB)
EN25T80 (1MB)
EN25T16 (2MB)
EN25T32 (4MB)
EN25T64 (8MB)
EN25QH16 (2MB)
EN25QH32 (4MB) — tested OK
EN25QH64 (8MB)
EN25QH128 (16MB)
EN25QH256 (32MB)
ESMT:
F25L004A (512kB) — tested OK
F25L008A/08PA (1MB)
F25L016A/16PA (2MB)
F25L32PA (4MB)
F25L64PA (8MB)
F25S04PA (512kB)
F25L08PA (1MB)
F25L16QA (2MB)
F25L32QA (4MB)
F25L64QA (8MB)
GigaDevice:
GD25Q512 (64kB)
GD25Q10 (128kB)
GD25Q20 (256kB)
GD25Q40 (512kB)
GD25Q80 (1MB)
GD25Q16 (2MB) — tested OK
GD25Q32 (4MB) — tested OK
GD25Q64 (8MB)
Intel:
QB25F016S33B8 (2MB)
QB25F032S33B8 (4MB)
QB25F064S33B8 (8MB)
Macronix:
MX25L512E/25V512 (64kB)
MX25L5121E (64kB)
MX25U5121E (64kB)
MX25L1005/1006/1025/1026E/25V1006E (128kB) — tested OK
MX25L1021E (128kB)
MX25U1001E (128kB)
MX25L2005/2006/2025/2026E/25V2006 (256kB)
MX25U2033E (256kB)
MX25L4005/4006/4025/4026/25V4005/4006E (512kB)
MX25U4033/4035/25V4033/4035 (512kB)
MX25L8005/8006/8008/8035/8036/8073/8075E (1MB) — tested OK
MX25U8033/8035E (1MB)
MX25V8035 (1MB)
MX25L1605/1606/1608E (2MB) — tested OK
MX25L1633/1635/1636/1673/1675E (2MB)
MX25L1635/1636E (2MB)
MX25U1635 (2MB)
MX25L3205/3206/3208/3233/3235/3273/3275E (4MB)
MX25U3235/25L3239E (4MB)
MX25L3225/3236/3237D (4MB)
MX25L6405/6406/6408/6435/6436/6445/6465/6473/6475E (8MB) — tested OK
MX25U6435/25L6439E (8MB) — tested OK
MX25L12835/12836/12839/12845/12865/12873/12875F (16MB) — tested OK
MX25U12835F (16MB)
MX25L25635/25639/25735/25835E (32MB)
MX25U25635F (32MB)
MX66L51235F/51245G (64MB)
MX66U51235F (64MB)
MX66L1G45G (128MB)
PMC:
Pm25LD512 (64kB) — tested OK
Pm25LD010 (128kB) — tested OK
Pm25LD020 (256kB)
Pm25LV512(A) (64kB) — tested OK
Pm25LV010(AB) (128kB) — tested OK
Pm25LV020 (256kB)
Pm25LV040 (512kB) — tested OK
Pm25LV080B (1MB)
Pm25LV016B (2MB)
Pm25LV032B (4MB)
Pm25LV064B (8MB)
*Pm25LQ032C (4MB)
Spansion:
S25FL001A (128kB)
S25FL002A (256kB)
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A/P (4MB) — tested OK
S25FL064A/P (8MB)
S25FL128P/S/129P/S (16MB) — tested OK
S25FL256S (32MB)
S25FL512S (64MB)
S25FL01GS (128MB)
ST Microelectronic/Numonyx:
M25P05 (64kB)
M25P10 (128kB)
M25P10AV (128kB) — tested OK
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB) — tested OK
M25P64 (8MB)
M25P128 (16MB)
M45PE10 (128kB)
M45PE20 (256kB)
M45PE40 (512kB)
M45PE80 (1MB)
M45PE16 (2MB)
M25PX80 (1MB)
M25PX16 (2MB)
M25PX32 (4MB)
M25PX64 (8MB)
N25Q032A13E (4MB)
N25Q032A11E (4MB)
N25Q064A13E (8MB)
N25Q064A11E (8MB)
N25Q128A13E (16MB)
N25Q128A11E (16MB)
N25Q256A13E (32MB)
N25Q256A11E (32MB)
N25Q512A13G (64MB)
N25Q512A11G (64MB)
N25Q00AA13GB (128MB)
SST:
SST25VF512(B) (64kB) — tested OK
SST25VF010(B) (128kB) — tested OK
SST25VF020(B) (256kB)
SST25VF040(B) (512kB)
SST25VF080(B) (1MB) — tested OK
SST25VF016(B) (2MB) — tested OK
SST25VF032(B) (4MB)
SST25VF064C (8MB)
SST25VF128(B) (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)
Winbond:
W25Q10B (128kB)
W25Q20BV (256kB)
W25Q40BV (512kB)
W25Q80BV (1MB) — tested OK
W25Q16BV (2MB) — tested OK
W25Q32BV (4MB) — tested OK
W25Q64BV/FV (8MB) — tested OK
W25Q128BV/FV (16MB)
W25Q256FV (32MB)
W25Q16FW 1,8V (2MB)
W25Q32FW 1,8V (4MB)
W25Q64FW 1,8V (8MB)
W25Q128FW 1,8V (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB) — tested OK
W25X16 (2MB)
W25X32 (4MB) — tested OK
W25X64 (8MB)
Программатор BIOS на CH341A как программатор для Arduino pro mini 5v
Покупалась за совсем дешево $1.60 (что по сравнению с официальной версией совсем халява ). Были и подешевле, за 1.40, но этот продавец качественно упаковывает, все модули что заказывал имеют хорошую пайку и главное быстро отправляет. кому интересно вот ссылка на эту штукенцию того продавца -ТЫК-
Но у этой штуки нет USB разъема для заливки скетчей (программы контроллера). соответственно ей нужен программатор ВОТ ТАКОЙ, который тоже был заказан.
Как то давно был куплен программатор микросхем БИОС для материнок на чипах 24 25 серии. наверно с год назад, причем самый дешевый из возможных. Вот он на картинке:

И лежал он без дела, пока не появилась Arduino pro mini 5v на 328 чипе. хоть и заказал я для нее специальный USB-UART программатор, но он чет долго идет, а тут вспомнил про старый. А вспомнил то вот почему.. Когда я его подключал к компу для прошивки микрух один раз случайно слетел с него джампер и у меня он не шил микрухи. Полез я в диспетчер устройств и обнаружил что пропал мой USBчето-там, но появился com7 CH341A. Джампер то я вернул на место и все опять заработало как надо. Но когда стал пользоваться китайским ардуино уно r3, то он тоже определялся как com1 CH341A. Ну и соответственно когда пришло про мини меня то и осенило, названия похожи, значит должно заработать, т.е. прошиваться.
взял я программер и стал крутить. но как оказалось на нем есть только 3 ножки, причем без подписи. хотя было сразу предположено что 2 из них это RX TX точно. Погуглив по чипу нашел вот такое:
Прочитав даташит и поглядев на плату было установленно, что мой это первый вариант на картинке. Прозвонив ноги выяснил где что и как подключено. как и оказалось 3 штырька это RX TX GND. Но нам же еще нужно питалово 5в и DTR. прозвонкой выяснил что DTR соответствует 9 контакту зажима с защелкой. а вот питания у чипа 3,3 а надо 5. на плате при детальном рассмотрении видно что от 5в УСБ линия идет на сопротивление 430 Ом поэтому недолго думая решил сделать отдельный штырек. подрезав немного справа от разъема решил сделать площадку для штырька. но увидел что 5в усб довольно толстая ножка. Согнув штырек припаял прямо к ноге.

Осталось это дело подключить к ардуино и затестить.
Схема подключения такая:
Программатор CH341A или блиц ремонт материнской платы

У товарища имелась полумёртвая материнская плата Gigabyte GA-MA78GM-S2H, при включении крутятся вентиляторы и всё, дальше не стартует.
Собственно сама материнка:
Замеры всех напряжений показали что всё в норме. Подозрения падали на BIOS, надо было удостоверится что в нём проблема. Микросхема BIOS на данной материнке SPI флеш MX25L8005. Есть простой метод проверки какой-либо активности BIOS, нужно ко второй (Serial Data Output) и к четвертой ноге (Ground) микросхемы припаять светодиод.
Если с прошивкой BIOS всё в порядке, то светодиод, в процессе старта материнской платы, должен мерцать. В данном случае светодиод тускло горел, было принято решение прошивать, вот тут нам и пригодится наш программатор.
Посылка дошла до Киева за месяц.

Внешний вид
В комплекте сам программатор и платка со штырьками (переходник для установки флеш разных типов).
Девайс умеет шить различные SPI и EEPROM флеш (их много, полный список на странице продавца)
Прошивка
Выпаиваем микросхему BIOS и устанавливаем на платку переходник, вставляем в программатор.
Устанавливаем драйвера и программу для прошивки — ссылка
Интерфейс программы на русском, интуитивно понятный. Нажимаем кнопку «Детект» программа определяет наш тип флеш:
Стираем микросхему флеш памяти и проверяем на пустоту. Скачиваем с сайта Gigabyte прошивку на нашу материнку и открываем в программе:
Прошиваем:
Проверяем после прошивки как записалось — содержимое флеш совпадает с тем чем прошивали:
После установки на место микросхемы BIOS, материнская плата запустилась без проблем.
Вот такой получился «ремонт» материнки ценой в три доллара.
Как сделать программатор для прошивки микросхемы bios
Категория: Инструкции Опубликовано: 12 сентября 2020
Если вы по каким либо причинам испортили прошивку BIOS, или произошёл сбой во время прошивки BIOS материнской платы, то оживить её поможет только программатор. В данной инструкции мы рассмотрим как правильно собрать и подключить программатор CH341A с прищепкой, чтобы прошить микросхему BIOS материнской платы не выпаивая её, а подключившись к ней прищепкой.
Данная инструкция подходит к любой материнской плате, будь то Китайская или брендовая (Asus, MSI, Gigabyte и т.д.)
Первое что нужно сделать это соединить правильно программатор с прищепкой:
Подключите коннектор от провода прищепки так, чтобы красный провод был соединён с контактом №1 специальной переходной панельки

Вставьте переходную панельку в программатор и зафиксируйте её небольшим рычагом опустив его вниз (пример для микросхемы 25-й серии)


Теперь подключите прищепку программатора к микросхеме BIOS так, чтобы красный провод был на первой ножке микросхемы, как правило она обозначена точкой

Для удачной прошивки и во избежание повреждения компонентов платы, следует вытащить CPU, RAM и батарейку, а также подключите питание 24-pin и 8-pin, соблюдение таких условий практически гарантирует удачную прошивку.
Следует отметить, что всё зависит от особенностей платы, так например есть платы которые прошиваются без подключения питания, а иногда плата не прошивается без батарейки, нужно пробовать.
После того как всё правильно подключили к микросхеме BIOS, можно подключать программатор к USB компьютера (желательно к USB 3.0, так скорость прошивки будет быстрее) и приступать к прошивки. Не рекомендуется использовать USB удлинители.
Прошивка BIOS программой AsProgrammer:
Скачайте и распакуйте архив с программой AsProgrammer, установите оба драйвера из папки «CH341-Drivers», после этого программатор должен корректно определиться в диспетчере устройств

Запустите программу AsProgrammer и во вкладке «Программатор» выберите «CH341a»

Во вкладке «Микросхема», выберите нужную согласно маркировке вашего BIOS, или воспользуйтесь «Поиск» в той же вкладке и начните вводить маркировку пока не найдёте свою

Теперь нужно сначала «Прочитать» микросхему (кнопка с зелёной стрелкой вправо) и на всякий случай «Сохранить» родной дамп BIOS (кнопка с изображением дискеты)

Далее нажимаем кнопку загрузки прошивки в редактор (кнопка с изображением папки), выбираем необходимый файл (любого расширения, программатору неважно какое расширение файла *.rom, *.bin, или вообще без расширения)

После того как мы загрузили нужную прошивку в редактор, нажимаем кнопку прошивки «Снять защиту -> стереть -> записать -> проверить», после чего скрипт программы сам всё сделает, останется всего лишь дождаться окончания работы

Стирание микросхемы длится около 30сек, за это время может показаться что всё зависло, но это не так. Когда начнётся запись, появится зелёная полоса процесса. По завершению процесса вы увидите надпись что всё прошло успешно, если нет — то сообщение об ошибке.
P.S. Из-за особенностей некоторых материнских плат, не все микросхемы удается прошивать не выпаивая из материнской платы. В некоторых случаях без выпаивания не обойтись.
Если вы уверены, что все подключили правильно и все контакты имеются, а микросхема не поддается прошивке, попробуйте выпаять микросхему, возможно ее прошивке мешают другие элементы материнской платы.
