Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

Однажды произошел сбой при перепрошивке биоса на материнской плате ASUS и получился большой «кирпич» — плата не стартовала. К счастью, биос на плате был не запаян, а вставлен в 8-pin колодку. Микросхема BIOS — EN25F80-100QCP, 1024K-byte Serial Flash memory, продается на Али.

Информация из даташита EN25F80:Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

• Single power supply operation
— Full voltage range: 2.7-3.6 volt
• 8 Mbit Serial Flash
— 8 M-bit/1024 K-byte/4096 pages
— 256 bytes per programmable page
• High performance
— 100MHz clock rate
• Low power consumption
— 5 mA typical active current
— 1 μA typical power down current
• Uniform Sector Architecture:
— 256 sectors of 4-Kbyte
— 16 blocks of 64-Kbyte
— Any sector or block can be erased individually   Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

Нашел на просторах рунета схему программатора с использованием Ардуино. Схема мне понравилась тем, что на сборку макета ушло 10 минут. Из деталей нужны только макетка, ардуинка, провода, и сама микросхема флеш.

 

Вывод микросхемы флеш-памяти Вывод платы Arduino
CS# цифровой пин 10
SI цифровой пин 11
SO цифровой пин 12
SCLK цифровой пин 13
WP# 3V3
HOLD# 3V3
VCC 3V3
GND GND

 

Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

Плата Arduino Nano использует 3.3в уровень, т.е. для прошивания флешки в самый раз. Из программ — среда Arduino IDE и программа-программатор (в прикрепленном файле).

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

Итак, что нужно:
1. Подключаем к компу по usb и прошиваем Ардуино Nano.

Как прошивать? Находим на компе, где хранятся скетчи Ардуино (папка Arduino). Кладем туда содержимое проекта из архива в виде папки с файлами, открываем скетч с расширением ino и прошиваем в нашу плату. Проверено на среде  После запуска прошивки плата будет слушать определенный порт, это тот же самый порт, к которому мы подключили Arduino Nano при прошивке.

2. Отключаем плату от компьютера, и собираем простую схему с нашим флешем. Втыкаем все в макетку и соединяем по схеме:

Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

https://no-mo.ru/wp-content/uploads/2022/09/spi-eeprom-fw2.zip   — архив со скетчем и библиотекой

https://no-mo.ru/wp-content/uploads/2022/09/spieepromflasher.zip   — программатор

Также была проверена работа программатора с другими микросхемами:  25Q128FVSG, 25L3206E, Winbond 25Q64BVAIG

Важный комментарий по скетчу:

При использовании плат Arduino Nano и Uno в скетче необходимо исправить назначение вывода SS (2->10), и прошить плату.

Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

 

Программатор для SPI 16-pin, на примере MX25L1605D, MX25L3205D, MX25L6405D

Аналогично можно программировать 16 pin SPI flash, в которых также используются только 8 ног.

Программатор SPI flash на Ардуино, поможет перепрошить биос на материнской плате или в роутере

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: