![]() ![]() 6903 / 2528 / 134
Регистрация: 18.10.2011
Сообщений: 13,441
|
||
Как сделать программатор для прошивки микросхемы BIOS07.12.2014, 16:20. Показов 267390. Ответов 251
Метки нет Все метки)
(
Давно уже достал вопрос:
-"А как я прошью 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. Я не создатель данного софта и идея данного програматора не моя.Я просто на практическом примере показал и рассказал,что данный способ програмирования флешек работает и в самой конструкции нет ничего сложного. Прошивальщик
31
|
07.12.2014, 16:20 | |
Ответы с готовыми решениями:
251
Программатор для прошивки Flash памяти. Прошивка микросхемы Bios для p8h61-mx r2.0 Программатор WizardProg87 не считывает ID микросхемы SST 49LF004B |
4 / 4 / 2
Регистрация: 13.09.2013
Сообщений: 129
|
|
08.12.2014, 14:34 | |
Compute, Спасибо за описание подробно процесс прошивки и подготовки. А нельзя сбросить на ящик схемки без сжатия 1 и 2 ? Там так размыто, хоть в очках, хоть с лупой. Отправь пожалуйста.
Добавлено через 25 минут Прошу прощения, нашёл как прояснить фото. Спасибо Добавлено через 20 минут Compute, И теперь ещё вопрос, при использовании с USB порта "хвост" с LPT порта обязателен? Без него никак? Спасибо
2
|
![]() ![]() 22195 / 12116 / 653
Регистрация: 11.04.2010
Сообщений: 53,466
|
|
02.03.2015, 14:28 | |
мощность тут по-барабану... если хотите сделать поменьше, то и 0.25 Вт пойдут
0
|
Почетный модератор
![]() |
|
21.03.2015, 20:46 | |
Compute, отличная тема, приложился отзывом...
![]()
0
|
0 / 0 / 0
Регистрация: 20.05.2015
Сообщений: 1
|
|
20.05.2015, 10:41 | |
работает на XP SP3. на LPT шнуре с внешним питанием программируемой микросхемы. у меня по началу глюкавил сильно(не видит флешку, видит через раз, ругается что заблокирована и блокировку снять не может и т.п.), оказалось, нужно в командной строке добавлять ключ delay (описан в хелпе программы), в моем случае не менее 35 микросекунд на тактовый сигнал. при этом падает соответственно скорость записи/чтения. использую на древнем ноутбуке dell latitude c610
0
|
20.05.2015, 10:41 | |
Помогаю со студенческими работами здесь
20
Как сделать программатор для MX25L25635FMI-10G? Какую программу лучше использовать для прошивки BIOS? Программатор St_link v2 и режимы прошивки. Во время прошивки BIOS произошел сбой, и теперь BIOS не работает Во время прошивки BIOS произошел сбой, и теперь BIOS не работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Настройка гиперпараметров с помощью 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) – как маяк для тех, кто ищет. . .
|