117

"Программатор" 24\25 флешек на ардуино.

Навеяно постом http://pikabu.ru/story/arduino_snova_vyiruchaet_5192318

Только 3 дня назад воспользовался сам этим проектом, думаю кому-то окажется полезным.

Успешно зашил 10 штук 25х флешей (2-2мб, 5-4мб, 3-8мб).

Собственно сам проект был взят у неизвестного товарища с сайта "технохрень" (не для рекламы). Далее текст из источника.



В общем это нужно чтобы перепрошивать 8 ножные SPI флешки. А это в свою очередь нужно чтобы восстанавливать роутеры, сбрасывать пароли на биосы и восстанавливать их, и много чего еще.

Будем делать за 10 минут самый простой программатор своими руками на Ардуино 🙂 Понадобится Arduino Pro Micro ну или любая другая (будет отличаться только распиновка на ардуино). Собираем эту сложную схему:

"Программатор" 24\25 флешек на ардуино. Arduino, Программатор, Spi, Сообщество arduino, Сообщество ремонтеров, Длиннопост

Сама прога-программатор:

"Программатор" 24\25 флешек на ардуино. Arduino, Программатор, Spi, Сообщество arduino, Сообщество ремонтеров, Длиннопост
"Программатор" 24\25 флешек на ардуино. Arduino, Программатор, Spi, Сообщество arduino, Сообщество ремонтеров, Длиннопост

Скачать софт http://skproj.ru/wp-content/uploads/2015/12/SpiEepromFlasher...


Вот прошивка (скетч) для ардуины:



#include "SPIFlash.h"

#include <SPI.h>

#include <avr/wdt.h>

//////////////////////////////////////////

// flash(SPI_CS, MANUFACTURER_ID)

// SPI_CS - CS pin attached to SPI flash chip (8 in case of Moteino)

// MANUFACTURER_ID - OPTIONAL, 0x1F44 for adesto(ex atmel) 4mbit flash

// 0xEF30 for windbond 4mbit flash

//////////////////////////////////////////

SPIFlash flash(2, 0);

byte buf[1024];

void setup() {

Serial.begin(115200);

while (!Serial);

if (flash.initialize())

Serial.println("Init OK!");

else

Serial.println("Init FAIL!");

}


void loop() {

char cmd;

if (!Serial.available()) return;

cmd = Serial.read();

if (cmd == 't') {

Serial.print("COM ok\n");

return;

}

if (cmd == 'i')

{

Serial.print("DeviceID: ");

Serial.print(flash.readDeviceId(), HEX);

Serial.print('\n');

return;

}

if (cmd == 'a')

{

flash.chipErase();

while (flash.busy());

Serial.print("OK");

Serial.print('\n');

return;

}

if (cmd == 'e')

{

long sector = Serial.parseInt();

Serial.read(); // разделитель

flash.blockErase4K(sector);

Serial.print("OK");

Serial.print(sector);

Serial.print('\n');

return;

}

if (cmd == 'w')

{

long addr = Serial.parseInt();

Serial.read(); // разделитель

for (int bufsz = 0; bufsz < 128; bufsz++)

{

while (Serial.available() == 0);

buf[bufsz] = Serial.read();

}

flash.writeBytes(addr, buf, 128);

Serial.print("OK");

Serial.print(addr);

Serial.print('\n');

return;

}

if (cmd == 'r') {

long addr = Serial.parseInt();

Serial.read(); // разделитель

for (int i = 0; i < 4; i++)

{

flash.readBytes(addr + (i * 1024) + 0, buf, 1024);

for (int j = 0; j < 1024; j++)

Serial.write(buf[j]);

}

return;

}

}



Ничего сложного и главное нет лишних деталей в схеме))) Главное правильные библиотеки — скачать их вместе с прошивкой тут: http://skproj.ru/wp-content/uploads/2015/12/spi-eeprom-fw2.z...


Пробовал на флешках 25Q128FVSG, 25L3206E, еще какая-то роутерная безымянная.


Как выяснилось программатор может иногда не работать 🙂 Вариантов несколько:

— либо слишком длинные провода к флешке (нормально см 8-15)

— либо слишком китайская ардуина (например нано в3)

— либо дохлая флешка



Лично сделал такое безобразие (платку под панельку развел, но еще не травил):

"Программатор" 24\25 флешек на ардуино. Arduino, Программатор, Spi, Сообщество arduino, Сообщество ремонтеров, Длиннопост

Как показала практика 3х вольтовые флешки отлично работают от 5и вольтовой линни, но для низковольтовых лучше все таки добавить преобразователь.


Отлично завелось от ПониПрога.

Дубликаты не найдены

49 комментариев

по актуальности
+3

CH341A Gold + sop8-dip8 переходник - 150 грн (320 рублей).

Адруинки дороже продаються + видок не ахти получается.

А так, компактно и красиво.

Шьется все 24/25 - мониторы, материнки, роутеры и т.п., ПО ровное, пока ошибок не заметил.

Иллюстрация к комментарию
раскрыть ветку 14
+3
А то и дешевле...
Иллюстрация к комментарию
раскрыть ветку 4
0

Еще у меня в комплекте к минипро есть Nano Usb bios programmer.... ух, ад! в общем, там где минипро шьет за 5 минут, это чудо, самое дешевое, типа такого, справляется минимум минут за 20 а то и все 30.

На дуине 8 метров зашил за 10 минут (как раз минипро за 5 минут с ней справляется).

По моему приятно не имея ничего и з-вна и палок собрать за 5 минут программатор для епромов.

раскрыть ветку 3
0

Приветствую. По неопытности прошивал low power биос на 1.8В

прочитал, записал.... Почле ещё разок и ещё... Иии... видимо больше её не хватило... Ноут больше вообще не заводился.


Убил ?


Подскажите я могу заменить на не оригинальную но по параметрам подходящую?


Спасибо


PS.. Оригинал GD25LQ32D

0

Можно, например, купить вообще USBasp и залить в него модифицированную прошивку - http://plc-blog.com.ua/usbasp-flash-25xxx.

Будет 2в1, программатор для AVR и программатор для флешек :)

0

То есть этой штукой можно перепрошивать биус?

раскрыть ветку 5
0

Да, если они на 24/25 серии и в корпусе DIP8/SOP8.

раскрыть ветку 1
0

Именно для биоса и собирал)

ну и те же роутеры, к примеру, и мониторы, и магнитолы)

раскрыть ветку 2
0

о, у мну такая же. клевая штука ) а до покупки этой приходилось извращаться с помощью самопаяного COM программатора  )

+1

Отвечу всем) с телефона неудобно(

150 гривен, это оно в украине, в Донецке 600-800 рублей самый простенький собранный в подвале слепыми китайцами левым пальцем правой ноги, а дуина обошлась мне в целых 230р.

Да, это вариант - срочняк, конкретно эта плата используется в проекте с WS2812, а ехать на работу к МиниПрохе было жутко влом.

Закончу с платой - выложу "отчет и суммы". Если делать целенаправленно программатор, обходится до 150-200р, если юзать 8ю атмегу - ее с головой должно хватить, в общем посмотрим. И использовать хочу как раз CH340.

раскрыть ветку 2
0
В питере 4500 с набором переходников
раскрыть ветку 1
0

самое дорогое в схеме - переходники(

+1

Проще купить готовый, столько же стоит -) Разве что как "срочный" вариант.

0
Можно ли использовать этот способ для прошивки через 7-пиновый разъём на материнке?
раскрыть ветку 1
0
9-пиновый, прошу прощения
так предположительно
Иллюстрация к комментарию
0

Спасибо! Сломал свой комп в попытках моддинга биоса, починил его с этой инструкцией.

0

Спасибо все отлично, залил прошивку на тюнер Витязь hdr826

0

Подскажите пожалуйста , заливал прошивку процесс долгий написано готово, потом скачиваю же эту залитую прошивку весит 4Мбайт но когда открываю через блокнот указанный файл пустой , а открываю через блокнот ту что я скачал прошивку с интернета в блокноте отображаются всякие символы, что я думаю ничего не записывается и нечего не считывается, что делать подскажите  , какой размер флешки указывать ,флэшка en25q32b-104hip.флешку не выпаивал из платы т.к. рядом есть разъем который дублирует ножки флешки.и что самое интересное подаю питание или не подаю процесс записи происходит длиться продолжительное время. При подключенни данного программатора светиться красный светодиод я так понял он светиться только когда подключен программатор, при этом питание не подаю на флешку

0

Подскажите плиз, есть mega 1280. скетч вроде залил. ноги подключаю тоже вроде правильно 50,51,52,44, grn + три ноги на 3,3в.

при подключении SpiEepromFlasher, выбираю порт и размер 16Мб(16 777 216) микруха MX25L1606EM2I-12G(роутер асус). При нажатии кнопки запуск, открывается окно и зависает.

Что я делаю не так.

раскрыть ветку 1
0

Насколько понимаю - нужно ножками поиграться. SPIFlash flash(2, 0). В коде меняли на 44?

0

Я не много запозднился, автор, подскажи

winbond 25q64fvsig - такой чип можно прошить этим "программатором".

И еще вопрос у меня UNO R3 MEGA328P CH340G китайский, с ним могут быть проблемы?

раскрыть ветку 3
0

Прошить можно)

А вот это нужно уже пробовать, по крайней мере 10 минут потраченного времени ради эксперимента стоят того))

раскрыть ветку 2
0
Только что закончил, все удачно.
раскрыть ветку 1
0

Уместно ли, но если возможно, какой-нибудь толковый справочник по Ардуино можно получить от вас?

раскрыть ветку 9
0

Я пользуюсь просторами интернета в поисках решения конкретной задачи - все уже давно придумано и реализовано, а если это сделал азиат - то еще и лучше сделано))

раскрыть ветку 8
0

а теперь можно подробнее для аутистов?

как залить скетч на ардуино?)

раскрыть ветку 7
0
Еще к прошлому посту хотел спросить схемку да прошивку к этой приблуде))) спасибо тебе ЧЕЛОВЕЧИЩЕ!!!
0

Ты красава!!! От меня тебе ЖИРНЮЩИЙ ПЛЮСЯРА

раскрыть ветку 4
0

Спасибо) приятно)

раскрыть ветку 3
0

Можно ли таким способом считать 16Кбит eeprom ?
в проге не вбить 2000 байт

раскрыть ветку 2
0

А софт работает только с оригинальными ардуинами или на CH340 тоже? (Хотя я вижу ответ, вариант: — либо слишком китайская ардуина (например нано в3))

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

раскрыть ветку 2
0

А разве есть разница? CH340 это же чип USB<->UART, на SPI влиять никак не должно, а дрова под такой чип найти можно.

раскрыть ветку 1
+1

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

Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: