Флэш память 25q64 как прошить
Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).
Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.
Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.
1. Перепрошивка USBasp
Сначала нужно замкнуть контакты J2:
Лично я не просто замкнул, а впаял в контакты переключатель:
При замкнутых контактах J2 (это у меня переключатель в положении вправо) USBasp переходит в режим готовности к перепрошивке.
Сам себя USBap перепрошить не может, поэтому нужен еще один программатор. USBasp как бы оказывается в положении хирурга, который не может сам себе вырезать аппендикс и просит друга помочь. Для перепрошивки USBasp я использовал самодельный программатор AVR910, но для одного раза можно по-быстрому за пару минут спаять программатор «5 проводков», который состоит всего-лишь из одного разъема LPT и 5 резисторов.
Подключаем программатор к USBasp:
Теперь идем на форум альтернативной прошивки от Tifa, в самом верхнем посте находим и качаем архив с последней прошивкой и ПО.
Находим там файл mega8.hex, это и есть альтернативная прошивка для USBasp.
Запускаем CodeVisionAvr (я использую версию 2.0.5), выставляем настройки программатора: Settings-> Programmer.
Устанавливаем настройки записи: Tools->Chip programmer. Выбираем чип Atmega8L, именно такой стоит на USBasp. Фьюзы не выставляем- те, что надо, уже прошиты в чипе. Остальные настройки оставляем по умолчанию.
Стираем старую программу USBasp: Program-> Erase chip.
Открываем файл прошивки mega8.hex: File-> Load flash.
Перепрошиваем USBasp: Program-> Flash.
Теперь проверим, видит ли Windows 7 x86 этот программатор. Вставляем USBasp в USB и… система пишет «USBasp не удалось найти драйвер». Понятно, нужно установить драйвер. Но драйверов в скачанном на форуме архиве нет, их нужно скачать на родном сайте USBasp тут, оригинальные драйвера подходят и для модифицированного программатора. Скачали, установили, Win7 увидела программатор, все ок. Впрочем, я программирую микроэлектронику на ноутбуке с WinXP, она тоже после установки драйверов видит программатор.
2. Площадка для подключения USBasp к микросхеме 25xxx DIP
Теперь нужно подготовить площадку для программирования 25xxx. Я это сделал на макетной плате по такой схеме:
3. Прошивка микросхем 25xxx через USBasp
Для прошивки 25xxx через модифицированный USBasp используется программа AsProgrammer, которая тоже есть в архиве.
Для примера, поработаем с микросхемой Winbond 25×40. Запускаем AsProgrammer, ставим режим работы SPI и выбираем тип микросхемы: Микросхема-> SPI-> Winbond->…
… и видим, что W25X40 в списке нет. Что же, тогда заполним параметры микросхемы вручную. Находим мануал на Winbond 25X40 и там на странице 4 видим такие параметры:
Эти параметры вносим сюда:
Подключаем USBasp к компьютеру и микросхеме Winbond 25×40:
С помощью кнопок «прочитать», «записать», «стереть», проверяем работу программатора:
Только нужно учесть, что перед тем, как что-то записать в микросхему, сначала нужно выставить: Настройки-> Проверка записи, что бы после записи прошивки в микросхему была выполнена проверка на соответствие того, что писали тому, что в итоге записали. Это немаловажная вещь, потому что если прошивку делать не на очищенный чип, в него запишется чёрт-те что. Поэтому сначала нужно стереть микросхему, а затем только проводить ее запись.
Благодаря прошивке от Tifa дешевый китайский программатор USBasp теперь умеет работать с микросхемами flash-памяти eeprom 25xxx. Теоретически еще может работать c 24xxx и Microwire, но я проверил только работу с 25xxx.
UPD1:
Оказывается, такую же прошивку можно записать и в программатор AVR910. Тогда он тоже будет работать с flash-памятью 25xxx: Программатор ISP памяти из AVR910.
Сегодня рассмотрим простой но очень функциональный программатор на микросхеме CH341A (MinProgramment), который программирует микросхемы 24 и 25 серии используемые в материнских платах, роутеров, ноутбуков, маршрутизаторов и так далее.
Технические параметры CH341A
► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: FLASH и EEPROM 24-25 серий
► Габариты: 85 мм x 27 мм x 15 мм
► Поддержка ОС: Windows Vista, Windows 7, Windows 8.1, Windows 10
Общие сведения
CH341A Programment, это программатор начального уровня, изготовлена на черном стеклотекстолите (существует вариант на зеленом текстолите) с серебристой окантовкой. В комплект входит зеленая печатная плата и два штыревых разъема 1х4 (шаг 2.54 мм), данный комплект, позволит прошивать микросхемы SMD исполнении, очень удобно, если необходимо прошить пару микросхем, но если планируете использовать программатор постоянно, советую приобрести, так называемые ZIF переходники на 150 mil и 200 mil, позволяющие устанавливать SMD микросхемы без пайки.
На верхней части программатора, установлена микросхема CH341А, рядом располагается кварцевый резонатор на 12 МГц, стабилизатор напряжения AMS1117-3.3 который выдает 3.3В, а так же электрическая обвязка всех этих компонентов (резисторы, конденсатора). Для программирования микросхем, установлена 16 контактная DIP панель с нулевым усилием с маркировкой TFXTDOL. С двух стороны DIP панели, располагается две группы дополнительных контактов, назначение каждого можно посмотреть на обратной стороне платы.
На другой стороне платы, дополнительно добавлено место для установки SMD микросхем (150 mil и 200 mil) и нарисована шёлкография.
Назначение группы контактов 1:
► 1,2,3 – выбор режима работы (1-2 режим Paralell (внутренней) и 2-3 режим Serial (внешней)
► TX – передаваемые данные
► RX – принимаемые данные
► GND – питание земля
► 5V – питание +5 В
Назначение группы контактов 2:
► CLK – линия тактирования (Serial CLock)
► CS – режим работы
► MOSI – прием данных
► MISO – передача данных
► GND – питание земля
► 3.3V – питание +3.3 В
► 5V – питание +5 В
Подключение программатора MinProgramment
Подключаем программатор к порту USB на компьютере, если все нормально, на плате загорится красный светодиод. Далее операционная система начнет поиск драйвера, если драйвера в системе нету, необходимо самостоятельно скачать его CH341SER.ZIP (при ошибки 43 необходимо посмотреть эту статью). Распаковываем архив и запускаем установочный файл «setup.exe», в открытом окне жмем «INSTALL» (драйвер подходит и для CH340).
Программатор готов к прошивке микросхем.
Инструкция по прошивке
Теперь приступим к программированию (режим Paralell). Если программировать микросхемы в SMD корпусе, то необходимо использовать ZIF-панель или адаптер (что идет в комплекте). Припеваем или устанавливаем микросхему и с помощью прижимного рычага, зажимаем адаптер в программаторе. Очень важно, устанавливать микросхему по ключу, в противном случаи можно испортить микросхему.
► В примере использую микросхему «24C04», нажимаем «Поиск Чипа», выбираем нужный чип 24C04 и жмем «Читать», если все правильно подключено, программатор скачает прошивку.
► Для прошивки микросхемы, необходимо нажать кнопку «Открыть», затем выбираем файл прошивки, и жмем «Авто» микросхема прошита.
► Также есть, программатор позволяет прошивать по ISP интерфейсу (внутрисхемному) и может работать как COM порт (аналогично, адаптеру PL2303HA).
Список поддерживаемых микросхем CH341A (602 шт)
25/26 SPI FLASH
24 EEPROM
ATMEL: AT24C01B, AT24C01, AT24C01A, AT24C02, AT24C02A, AT24C02B, AT24C04B, AT24C04, AT24C04A, AT24C08A, AT24C08B, AT24C08, AT24C16, AT24C16A, AT24C16B, AT24C32B, AT24C32A, AT24C32, AT24C64, AT24C64A, AT24C64B, AT24C128, AT24C128A, AT24C128B, AT24C256A, AT24C256, AT24C256B, AT24C512B, AT24C512A, AT24C512, AT24C1024, AT24C1024A, AT24C1024B;
CATALYST: CAT24C01, CAT24WC01, CAT24C02, CAT24WC02, CAT24C04, CAT24WC04, CAT24WC08, CAT24C08, CAT24WC16, CAT24C16, CAT24WC32, CAT24C32, CAT24WC64, CAT24C64, CAT24C128, CAT24WC128, CAT24C256, CAT24WC2S6, CAT24C512, CAT24WC512, CAT24C1024, CAT24WC1024;
COMMON: 24C01 3V, 24C01 5V, 24C02 3V, 24C02 5V, 24C04 3V, 24C04 5V, 24C08 3V, 24C08 5V, 24C16 5V, 24C16 3V, 24C32 5V, 24C32 3V, 24C64 5V, 24C64 3V, 24C128 SV, 24C128 3V, 24C256 5V, 24C256 3V, 24C512 5V, 24C512 3V, 24C1024 3V, 24C1024 5V, 24C2048 5V, 24C2048 3V, 24C4096 5V, 24C4096 3V;
FAIRCHILD: FM24C01L, FM24C02L, FM24C03L, FM24C05L, FM24C04L, FM24C08L, FM24C09L, FM24C17L, FM24C16L, FM24C32L, FM24C64L, FM24C128L, FM24C256L, FM24C512L, FM24C512L, FM24C1024L;
HOLTEK: HT24C01, HT24LC01, HT24LC02, HT24C02, HT24C04, HT24LC04, HT24C08, HT24LC08, HT24C16, HT24LC16, HT24LC32, HT24C32, HT24LC64, HT24C64, HT24C128, HT24LC128, HT24LC256, HT24C256, HT24LC512, HT24C512, HT24C1024, HT24LC1024;
ISSI: IS24C01, IS24C02, IS24C04, IS24C08, IS24C16, IS24C32, IS24C64, IS24C128, IS24C256, IS24C512, IS24C1024;
MICROCHIP: MIC24LC014, MIC24AA01, MIC24AA014, MIC24LC01B, MIC24LC02B, MIC24AA02, MIC24C02C, MIC24AA024, MIC24LC025, MIC24LC024, MIC24LC04B, MIC24AA04, MIC24AA025, MIC24LC088, MIC24AA08, MIC24LC16B, MIC24AA16, MIC24LC32, MIC24AA32, MIC24LC64, MIC24AA64, MIC24FC64, MIC24FC128, MIC24AA128, MIC24LC128, MIC24AA256, MIC24LC256, MIC24FC2S6, MIC24AA512, MIC24LC512, MIC24FC512, MIC24AA1024;
NSC: NSC24C02L, NSC24C02, NSC24C64;
RAMTRON: FM24CL04, FM24C04A, FM24CL16, FM24C16A, FM24CL64, FM24C64, FM24C256, FM24CL256, FM24C512;
ROHM: BR24L01, BR24C01, BR24L02, BR24C02, BR24L04, BR24C04, BR24L08, BR24C08, BR24L16, BR24C16, BR24L32, BR24C32, BR24C64, BR24L64.
ST: ST24C01, ST24C02, ST24C04, ST24C08, ST24C16, ST24C32, ST24C64;
XICOR: X24C01, X24C02, X24C04, X24C08, X24C16;
25 SPI EEPROM
ATMEL: AT25010, AT25020, AT25040, AT25080, AT25160, AT25360, AT25640, AT25128, AT25256, AT25512;
MICROCHIP: 25AA080C, 25AA080D, 25C080 5V, 25LC080C, 25LC080D, 25AA160, 25C160 5V, 25LC160, 25AA320, 25C320 5V, 25LC320, 25AA640, 25C640 5V, 25LC640, 25AA256, 25LC256, 25AA512, 25LC512, 25AA1024, 25LC1024
Купить на Aliexpress
Программатор для FLASH и EEPROM на CH341
Адаптер SOP8 (150mil и 200mil)
Клипса-адаптер SOIC8
Купить в Самаре и области
Программатор для FLASH и EEPROM на CH341
Адаптер SOP8 150mil
Адаптер SOP8 200mil
Клипса-адаптер SOIC8
Адаптер на 1.8v для программатора CH341A
Если вы по каким либо причинам испортили прошивку BIOS, или произошёл сбой во время прошивки BIOS материнской платы, то оживить её поможет только программатор. В данной инструкции мы рассмотрим как правильно собрать и подключить программатор CH341A с прищепкой, чтобы прошить микросхему BIOS материнской платы не выпаивая её, а подключившись к ней прищепкой.
Данная инструкция подходит к любой материнской плате, будь то Китайская или брендовая (Asus, MSI, Gigabyte и т.д.)
Первое что нужно сделать это соединить правильно программатор с прищепкой:
Подключите коннектор от провода прищепки так, чтобы красный провод был соединён с контактом №1 специальной переходной панельки
Вставьте переходную панельку в программатор и зафиксируйте её небольшим рычагом опустив его вниз (пример для микросхемы 25-й серии)
Теперь подключите прищепку программатора к микросхеме BIOS так, чтобы красный провод был на первой ножке микросхемы, как правило она обозначена точкой
После того как всё правильно подключили к микросхеме BIOS, можно подключать программатор к USB компьютера (желательно к USB 3.0, так скорость прошивки будет быстрее) и приступать к прошивки. Не рекомендуется использовать USB удлинители.
Прошивка BIOS программой AsProgrammer:
Скачайте и распакуйте архив с программой AsProgrammer, установите оба драйвера из папки «CH341-Drivers», после этого программатор должен корректно определиться в диспетчере устройств
Запустите программу AsProgrammer и во вкладке «Программатор» выберите «CH341a»
Во вкладке «Микросхема», выберите нужную согласно маркировке вашего BIOS, или воспользуйтесь «Поиск» в той же вкладке и начните вводить маркировку пока не найдёте свою
Теперь нужно сначала «Прочитать» микросхему (кнопка с зелёной стрелкой вправо) и на всякий случай «Сохранить» родной дамп BIOS (кнопка с изображением дискеты)
Далее нажимаем кнопку загрузки прошивки в редактор (кнопка с изображением папки), выбираем необходимый файл (любого расширения, программатору неважно какое расширение файла *.rom, *.bin, или вообще без расширения)
После того как мы загрузили нужную прошивку в редактор, нажимаем кнопку прошивки «Снять защиту -> стереть -> записать -> проверить», после чего скрипт программы сам всё сделает, останется всего лишь дождаться окончания работы
P.S. Из-за особенностей некоторых материнских плат, не все микросхемы удается прошивать не выпаивая из материнской платы. В некоторых случаях без выпаивания не обойтись.
Если вы уверены, что все подключили правильно и все контакты имеются, а микросхема не поддается прошивке, попробуйте выпаять микросхему, возможно ее прошивке мешают другие элементы материнской платы.
Если вы по каким либо причинам испортили прошивку BIOS, или произошёл сбой во время прошивки BIOS материнской платы, то оживить её поможет только программатор. В данной инструкции мы рассмотрим как правильно собрать и подключить программатор CH341A с прищепкой, чтобы прошить микросхему BIOS материнской платы не выпаивая её, а подключившись к ней прищепкой.
Данная инструкция подходит к любой материнской плате, будь то Китайская или брендовая (Asus, MSI, Gigabyte и т.д.)
Первое что нужно сделать это соединить правильно программатор с прищепкой:
Подключите коннектор от провода прищепки так, чтобы красный провод был соединён с контактом №1 специальной переходной панельки
Вставьте переходную панельку в программатор и зафиксируйте её небольшим рычагом опустив его вниз (пример для микросхемы 25-й серии)
Теперь подключите прищепку программатора к микросхеме BIOS так, чтобы красный провод был на первой ножке микросхемы, как правило она обозначена точкой
После того как всё правильно подключили к микросхеме BIOS, можно подключать программатор к USB компьютера (желательно к USB 3.0, так скорость прошивки будет быстрее) и приступать к прошивки. Не рекомендуется использовать USB удлинители.
Прошивка BIOS программой AsProgrammer:
Скачайте и распакуйте архив с программой AsProgrammer, установите оба драйвера из папки «CH341-Drivers», после этого программатор должен корректно определиться в диспетчере устройств
Запустите программу AsProgrammer и во вкладке «Программатор» выберите «CH341a»
Во вкладке «Микросхема», выберите нужную согласно маркировке вашего BIOS, или воспользуйтесь «Поиск» в той же вкладке и начните вводить маркировку пока не найдёте свою
Теперь нужно сначала «Прочитать» микросхему (кнопка с зелёной стрелкой вправо) и на всякий случай «Сохранить» родной дамп BIOS (кнопка с изображением дискеты)
Далее нажимаем кнопку загрузки прошивки в редактор (кнопка с изображением папки), выбираем необходимый файл (любого расширения, программатору неважно какое расширение файла *.rom, *.bin, или вообще без расширения)
После того как мы загрузили нужную прошивку в редактор, нажимаем кнопку прошивки «Снять защиту -> стереть -> записать -> проверить», после чего скрипт программы сам всё сделает, останется всего лишь дождаться окончания работы
P.S. Из-за особенностей некоторых материнских плат, не все микросхемы удается прошивать не выпаивая из материнской платы. В некоторых случаях без выпаивания не обойтись.
Если вы уверены, что все подключили правильно и все контакты имеются, а микросхема не поддается прошивке, попробуйте выпаять микросхему, возможно ее прошивке мешают другие элементы материнской платы.
Читайте также: