Микросхема P25Q21H от Puya Semiconductor — это SPI Flash память объёмом 2 Мбит (256 Кбайт), которая встречается в роутерах, ТВ-приставках, материнских платах, блоках питания и различной встраиваемой электронике. Прошить её можно недорогим программатором CH341A, а также через FTDI-адаптеры, Raspberry Pi или Arduino с поддержкой протокола SPI.

Ниже разберём совместимые программаторы, распиновку корпуса, программное обеспечение и порядок безопасной прошивки — как с выпаиванием микросхемы, так и внутрисхемно, если устройство это позволяет.

Что представляет собой P25Q21H

P25Q21H — серийная NOR Flash память с интерфейсом SPI, рассчитанная на питание в диапазоне примерно 2,3–3,6 В. Микросхема выпускается в нескольких корпусах: SOP-8, USON-8, WSON-8 и других. Чаще всего в технике встречается восьминогий корпус SOP-8, который удобно подключать к программатору через прищепку или адаптер.

По организации памяти чип близок к популярным Winbond W25Q20 и GD25Q20 — многие программы определяют P25Q21H автоматически по JEDEC ID, а если конкретной модели нет в списке, часто срабатывает выбор ближайшего аналога с тем же объёмом. Тем не менее полагаться на это вслепую не стоит: сначала убедитесь, что программатор корректно читает ID микросхемы.

💡

P25Q21H — SPI Flash 2 Мбит с питанием 3,3 В. Перед прошивкой всегда проверяйте, что программатор читает JEDEC ID чипа: это подтверждает правильность подключения.

Подходящие программаторы

Для работы с P25Q21H подойдёт практически любой программатор, умеющий работать с SPI Flash на 3,3 В. Рассмотрим основные варианты.

  • 🔧 CH341A — самый доступный вариант. Работает с программами AsProgrammer, NeoProgrammer, CH341A Programmer. Обратите внимание: на многих дешёвых платах CH341A линии данных работают на 5 В, что потенциально опасно для 3,3-вольтовых чипов — желательна доработка или использование версий с переключением напряжения.
  • 🔌 FTDI FT232H / FT2232H — стабильный вариант через утилиту flashrom или специализированный софт. Требует ручной распайки проводов по схеме SPI.
  • 🍓 Raspberry Pi — через GPIO и flashrom. Удобно, если под рукой уже есть «малина»: подключаете чип напрямую к SPI-пинам и работаете из консоли Linux.
  • 🤖 Arduino с прошивкой Serprog — бюджетный способ: плата Arduino превращается в SPI-программатор, совместимый с flashrom.
  • 💼 Профессиональные программаторы (например, серии XGecu/TL866 с поддержкой SPI, RT809H) — актуальны для сервисной практики, когда нужна гарантированная поддержка базы чипов.
📊 Каким программатором вы планируете прошивать P25Q21H?
CH341A
Raspberry Pi + flashrom
Arduino (Serprog)
Профессиональный программатор

Распиновка и подключение

Для корпуса SOP-8 распиновка P25Q21H стандартная для серии 25Q. Перед подключением сверьтесь с даташитом именно вашей ревизии чипа — маркировку на корпусе можно перепутать с похожими моделями.

ВыводНазваниеНазначение
1CS#Выбор микросхемы (Chip Select)
2DO (MISO)Данные из чипа
3WP#Защита от записи (подтягивается к питанию)
4GNDОбщий провод
5DI (MOSI)Данные в чип
6CLKТактовый сигнал
7HOLD#Приостановка (подтягивается к питанию)
8VCCПитание 3,3 В

Ключ на корпусе (точка или выемка) указывает на первый вывод. При использовании прищепки-адаптера SOIC-8 красная полоска шлейфа обычно соответствует первому пину — но это правило стоит перепроверять по конкретному адаптеру.

⚠️ Внимание: выводы WP# и HOLD# обязательно должны быть подтянуты к питанию 3,3 В. Если оставить их «висящими» или посадить на землю, чип не даст выполнить запись, и вы получите ошибку верификации даже при исправной микросхеме.

Программное обеспечение

Выбор софта зависит от программатора. Для CH341A на Windows удобнее всего AsProgrammer или NeoProgrammer: в списке производителей выбираете Puya, далее ищете P25Q21H. Если конкретной модели нет, попробуйте чтение с автоопределением — программа покажет JEDEC ID, и по нему можно подобрать совместимый профиль.

Для Linux и Raspberry Pi стандартом является flashrom. Типовая команда чтения выглядит так:

flashrom -p linux_spi:dev=/dev/spidev0.0 -r backup.bin

Запись выполняется аналогично с ключом -w. Перед записью flashrom автоматически стирает нужные области, но для SPI Flash хорошей практикой считается явное стирание и проверка «чистоты» чипа.

Если flashrom не знает P25Q21H

Старые сборки flashrom могут не содержать этот чип в базе. Обновите flashrom до свежей версии либо попробуйте указать близкий по организации чип через параметр -c, предварительно убедившись, что JEDEC ID читается корректно. Работа «вслепую» через чужой профиль — на ваш риск, поэтому сначала сделайте дамп и сверьте его контрольные суммы при повторном чтении.

Пошаговая инструкция по прошивке

Ниже — универсальный порядок действий, который подходит для большинства связок «программатор + софт». Конкретные названия кнопок могут отличаться, но логика везде одинаковая.

☑️ Порядок прошивки P25Q21H

Выполнено: 0 / 6

Первым делом всегда делайте резервную копию текущего содержимого, даже если чип кажется «убитым». В дампе могут находиться калибровки, серийные номера или MAC-адреса, без которых устройство после перепрошивки не заработает корректно.

После записи обязательна верификация: программа сравнивает записанные данные с файлом. Дополнительно полезно считать чип ещё раз в отдельный файл и сравнить контрольные суммы обоих дампов — это исключает нестабильный контакт, который иногда «проскакивает» при однократной проверке.

💡

Считывайте дамп дважды и сравнивайте файлы (например, через fc /b в Windows или md5sum в Linux). Совпадающие дампы — признак надёжного контакта; расхождения говорят о проблемах с подключением или питанием.

Прошивка без выпаивания: нюансы

Внутрисхемная прошивка через прищепку экономит время, но не всегда возможна. Проблема в том, что программатор начинает питать не только флешку, но и часть платы устройства, а процессор или контроллер может удерживать линии SPI и мешать обмену.

Что можно проверить и сделать:

  • 🔋 Отключите устройство от сети и дождитесь разряда конденсаторов перед подключением прищепки.
  • ⚡ Если чип не определяется, возможно, плата «просаживает» питание программатора — тогда поможет только выпаивание или отключение питания остальной схемы, если это предусмотрено конструкцией.
  • 🧲 Иногда помогает удержание основного процессора в состоянии сброса, но способ зависит от конкретной платы — универсальной инструкции здесь нет.
⚠️ Внимание: не подавайте питание на плату устройства одновременно с подключённым программатором. Двойное питание может вывести из строя и флешку, и программатор, и компоненты платы.

Типичные ошибки и их решения

Самая частая ситуация — программа не видит чип вообще. Проверьте ориентацию микросхемы в адаптере, качество контакта прищепки (окислы на ножках зачистите или промойте флюсом и спиртом) и выбор правильного напряжения на программаторе.

Вторая по частоте проблема — чтение проходит, а запись завершается ошибкой верификации. Возможные причины: не подтянуты WP# и HOLD#, слишком длинные провода между программатором и чипом (для SPI желательно держать их короткими), нестабильное питание или активированная программная защита блоков в статус-регистре. В последнем случае сначала считайте статус-регистры и снимите биты защиты, если они установлены.

⚠️ Внимание: если CH341A выдаёт 5 В на линиях данных, длительная работа с 3,3-вольтовым чипом может его повредить. Признак проблемы — чип читается нестабильно или греется. Проверьте напряжение на выводах мультиметром до начала работы.
💡

Ошибка верификации почти всегда означает проблему в подключении или защите от записи, а не «битый» чип. Проверяйте WP#/HOLD#, длину проводов и статус-регистры, прежде чем менять микросхему.

FAQ: частые вопросы

Можно ли прошить P25Q21H программатором, в списке которого нет этой модели?

Часто да. Если программатор корректно читает JEDEC ID и поддерживает стандартные команды SPI Flash, можно попробовать профиль ближайшего аналога с тем же объёмом (например, из серий W25Q20/GD25Q20). Перед записью обязательно сделайте и сверьте резервную копию.

Нужно ли выпаивать микросхему из платы?

Не всегда. Если плата не мешает обмену по SPI и программатор стабильно питает чип, возможна внутрисхемная прошивка через прищепку SOIC-8. При сбоях определения или ошибках записи выпаивание — более надёжный путь.

Чем отличается P25Q21H от P25Q21?

Индекс H обычно указывает на ревизию или расширенный диапазон характеристик внутри семейства. Точные различия (тактовая частота, температурный диапазон, корпус) нужно смотреть в даташите производителя на конкретную маркировку вашего чипа.

Что делать, если после прошивки устройство не запускается?

Сначала проверьте, что записан именно тот дамп и верификация прошла успешно. Затем убедитесь, что в старом дампе не было уникальных данных (калибровок, MAC-адреса), которые нужно перенести в новый образ. Если бэкап сохранён — всегда можно вернуть устройство в исходное состояние.

Подойдёт ли прищепка из дешёвого комплекта с CH341A?

Подойдёт, но качество контакта у бюджетных прищепок нестабильно. Если чип определяется через раз, слегка пошевелите прищепку или зачистите выводы микросхемы. Для регулярной работы лучше приобрести качественную прищепку или панельку-адаптер.