Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441

Как сделать программатор для прошивки микросхемы BIOS

07.12.2014, 16:20. Показов 267390. Ответов 251
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Давно уже достал вопрос:
-"А как я прошью 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 и под семёркой.

САМЫЙ ВАЖНЫЙ МОМЕНТ!
ДЛИНА ПРОВОДОВ НЕ ДОЛЖНА ПРЕВЫШАТЬ 5-6 СМ!


Как что делать:
Распаковываем прикреплённый архив в 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)


P.S. Я не создатель данного софта и идея данного програматора не моя.Я просто на практическом примере показал и рассказал,что данный способ програмирования флешек работает и в самой конструкции нет ничего сложного.

Прошивальщик

Download

SPIPGM v2.23.rar
Миниатюры
Как сделать программатор для прошивки микросхемы BIOS   Как сделать программатор для прошивки микросхемы BIOS   Как сделать программатор для прошивки микросхемы BIOS  

Как сделать программатор для прошивки микросхемы BIOS   Как сделать программатор для прошивки микросхемы BIOS   Как сделать программатор для прошивки микросхемы BIOS  

Как сделать программатор для прошивки микросхемы BIOS  
31
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2014, 16:20
Ответы с готовыми решениями:

Программатор для прошивки Flash памяти.
например ISP. Тут мне все понятно у ISP есть определенные выводы которые также есть на ножках микроконтроллеров. Вся информация которую я...

Прошивка микросхемы Bios для p8h61-mx r2.0
Здравствуйте. Прошу помощи в прошивке Bios для p8h61-mx r2.0 Суть такая, полетела микросхема биос 25q64bvaig (при прошивке ошибка...

Программатор WizardProg87 не считывает ID микросхемы SST 49LF004B
в следствии чего не могу перепрошить биос , подскажите может что то не так делаю, драйвера и прошивка программатора последних версий в базе...

251
4 / 4 / 2
Регистрация: 13.09.2013
Сообщений: 129
08.12.2014, 14:34
Compute, Спасибо за описание подробно процесс прошивки и подготовки. А нельзя сбросить на ящик схемки без сжатия 1 и 2 ? Там так размыто, хоть в очках, хоть с лупой. Отправь пожалуйста.

Добавлено через 25 минут
Прошу прощения, нашёл как прояснить фото.
Спасибо

Добавлено через 20 минут
Compute, И теперь ещё вопрос, при использовании с USB порта "хвост" с LPT порта обязателен? Без него никак? Спасибо
2
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
08.12.2014, 14:54  [ТС]
Usb используется только для питания...
Обмен данными идёт через LPT...
Так что без него никак...
1
4 / 4 / 2
Регистрация: 13.09.2013
Сообщений: 129
08.12.2014, 15:42
Compute, Спасибо, теперь всё понятно. Удачи.
1
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 3
02.03.2015, 14:10
Народ, кто паял сие чудо? Подскажите - какой мощности нужны резисторы? А то у меня 100 Ом"ных целая куча, только разных мощностей. И какой влепить не знаю...
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
02.03.2015, 14:28  [ТС]
Цитата Сообщение от San4es_88 Посмотреть сообщение
Народ, кто паял сие чудо?
Много кто,и я в том числе...
Пофиг какой мощности,хоть 5 ватт хоть 1.
0
Эксперт HardwareЭксперт Windows
22195 / 12116 / 653
Регистрация: 11.04.2010
Сообщений: 53,466
02.03.2015, 14:28
мощность тут по-барабану... если хотите сделать поменьше, то и 0.25 Вт пойдут
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 3
02.03.2015, 14:48
Все понял. Спасибо. И еще вопрос - может у кого есть схема перепайки такого программатора для схем в копусе PLCC32. Если у кого есть - скиньте пожалуйста в личку.
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
02.03.2015, 14:58  [ТС]
В гугле полно...
Я бы сделал PLCC32 to DIP а DIP по факту то же что и SOIC8
1
Почетный модератор
 Аватар для ildwine
6199 / 2952 / 1300
Регистрация: 04.03.2013
Сообщений: 5,795
Записей в блоге: 1
21.03.2015, 20:46
Compute, отличная тема, приложился отзывом...
0
21.03.2015, 21:14  [ТС]

Не по теме:

Цитата Сообщение от ildwine Посмотреть сообщение
Compute, отличная тема, приложился отзывом...
Такая,пойдёт...:D

0
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 4
29.04.2015, 13:04
у Вас 150 Ом-ные резисторы заменены на 100 для чего?
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
29.04.2015, 13:18  [ТС]
Цитата Сообщение от linker_2004 Посмотреть сообщение
у Вас 150 Ом-ные резисторы заменены на 100 для чего?
Как для чего???
На практике было установлено что на 100 Омных резисторах вся эта конструкция адекватнее работает...
0
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 4
29.04.2015, 14:47
пасиб, через spi не пробовали прошивать им же? длина кабеля до микросхемы какой сделать? читал что чем короче тем лучше..
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
29.04.2015, 14:49  [ТС]
Цитата Сообщение от linker_2004 Посмотреть сообщение
через spi
Через SPI интерейс?
Нет...только пайка...
Цитата Сообщение от linker_2004 Посмотреть сообщение
читал что чем короче тем лучше..
Это правильное утверждение...
0
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
02.05.2015, 21:24
При вводе любой команды ошибка "cannot open ServiceManager database" windows 7.
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
03.05.2015, 19:45  [ТС]
Цитата Сообщение от Andrey-Rs90 Посмотреть сообщение
cannot open ServiceManager database
Всё надо делать под учёткой админа
0
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 11
03.05.2015, 19:52
Само-собой! Проблему решил установкой Windows XP- там сразу все определилось.
0
Эксперт Hardware
 Аватар для Compute
6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
03.05.2015, 19:54  [ТС]
Цитата Сообщение от Andrey-Rs90 Посмотреть сообщение
Windows XP
Да...бывают глюки под виндой...
Я из под DOS обычно делаю...или XP///под Xp нормально...на 7ке бывает...
1
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 1
20.05.2015, 10:41
работает на XP SP3. на LPT шнуре с внешним питанием программируемой микросхемы. у меня по началу глюкавил сильно(не видит флешку, видит через раз, ругается что заблокирована и блокировку снять не может и т.п.), оказалось, нужно в командной строке добавлять ключ delay (описан в хелпе программы), в моем случае не менее 35 микросекунд на тактовый сигнал. при этом падает соответственно скорость записи/чтения. использую на древнем ноутбуке dell latitude c610
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2015, 10:41
Помогаю со студенческими работами здесь

Как сделать программатор для MX25L25635FMI-10G?
Kak сделать программатор для MX25L25635FMI-10G ?

Какую программу лучше использовать для прошивки BIOS?
Здравствуйте! Какую программу лучше использовать для прошивки BIOS и как он вообще прошивается?

Программатор St_link v2 и режимы прошивки.
Приехал программатор из китая типа такого http://www.chipdip.ru/product/st-link-v2/ Подключаю плату 32f4xxx через JTAG (20 pin). В...

Во время прошивки BIOS произошел сбой, и теперь BIOS не работает
Решил обновить BIOS. У меня материнская плата ASUS версии P5B. Скачал с официального сайта программу ASUSupdate и последнюю версию BIOS...

Во время прошивки BIOS произошел сбой, и теперь BIOS не работает
Так или иначе но решил обновить Биос для этого скачал ASUS Update Utility 7.10.05 сделал все по инструкции Первый этап (Erase ROM) прошел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru