Прошивка bios через ардуино
This step by step guide will show you, how to flash your corrupted BIOS Chip of your Mainboard via USB with the help of an Arduino Uno.
Introduction
Recently I’ve got an old computer for free, with the downside however that it wasen’t posting. After some troubleshooting, it pointed more and more it the direction of a faulty CMOS Chip. It turned out that the cause of the problem was indeed the BIOS.
So this guide will show you, how to flash your BIOS Chip via USB with an Arduino Uno.
Step 1 – Check Compatibility
Since we are going to use the FlashROM Flasher Program, please make sure that your BIOS Chip is listed in the compatibility list of FlashROM. Basically find the BIOS chip on your mainboard and read off the type number on it.
Please note, that on some mainboards, you first have to remove a sticker from the top of the BIOS Chip to read off the type number. In this guide we’ll be using a MX25L8005 CMOS IC by Macronix.
Step 2 – Get the BIOS for your Mainboard
This step is highly individual and can differ immensely from case to case. However in most cases the mainboard manufacturers are offering BIOS Images on their websites to be downloaded (mostly in the Driver/Support sections). A simple search with your mainboards model number will guide you there.
In my case I had to search a little longer, considering finding a BIOS download page for the (now) 13 year old MSI MS-7504 was quite more difficult that I initially thought. Yet I was able to find a suitable ISO file, whose unpacking lead to a IMG file, whose unpacking again lead to a FreeDOS environment, containing the long searched BIOS image file named “A7504NF1.10Z”.
Step 3 – Get the necessary Packages
Considering that we’re running on Debian, please make sure your system is up to date and has the following packages installed to prepare the flashing environment, demanded by FlashROM and the Arduino flasher frser-duino we’re going to use later.
Now that the packages are installed, we can continue to set up FlashROM.
Step 4 – Get FlashROM
Since FlashROM is going to be sourced from GitHub, changing to a directory for this specific purpose will help us to keep the setup clean.
Now clone FlashROM from its repository, compile and install it.
Step 5 – Arduino Uno Flashing
To make the Arduino Uno suitable to flash BIOS CMOS Chips, we firstly have to flash the Arduino Uno itself with the frser-duino programmer. frser-duino is effectively a successor to the serprog-duino programmer project, just to mention as a side note.
Taking into account that the Arduino Uno is equipped with a ATmega8U2 or ATmega16U2 acting as a USB to Serial converter for the Arduinos main ATmega328P, frser-duino has to be told to use the 8U2/16U2 conversion and not the standard FTDI USB to Serial conversion.
Now connect your Arduino Uno to your PC via USB, to flash the ATmega328P.
Step 6 – Wire up the Arduino to the BIOS Chip
Now we have to be extra careful not to destroy the BIOS Chip completely by applying a wrong voltage to it. In the most cases the Arduino Uno logic levels are 0V and 5V respectively, which is too high for most BIOS Chips. Please refer to the datasheet of your BIOS CMOS Chip for a voltage rating.
The MX25L8005 used in my case for example, is able to handle 2,7V up to 3,6V. Anything above this rating is definitely not healthy for this chip.
A simple voltage divider on a breadboard is just right to adjust the 5V from the Arduino to appropiate 3,3V for the BIOS chip. Affected by this alteration are the CS (Chip Select), SI (Serial Input) and SCLK (Serial Clock) Pins.
This graph shows how to wire your Arduino Uno to your 3,3V BIOS CMOS Chip:
The three voltage dividers for CS, SI and SCLK
The Oscilloscope shows clearly that the Arduino outputs its 5V quite well. After the voltage divider is implemented, the voltages are much more suitable for the BIOS CMOS Chip:
5V 3,3V
Step 7 – Flash the BIOS Chip
Now after everything is wired up we can now check if the PC is able to detect the BIOS Chip:
As Line 10 suggests ( Found Macronix flash chip "MX25L8005 [. ] ), the Chip is now detected.
In this state, we are now able to flash the BIOS Binary to the Chip. Just select the previously downloaded Binary with FlashROMs -w Parameter and execute the Command.
And thats it. If you have the same/similar console output as showed above, you are now finished.
Congratulations, you flashed your BIOS Chip via USB over an Arduino Uno.
Step 8 (Optional) – Replace your BIOS Chip
If you got errors however like I had in the first try, it is likely that your BIOS CMOS Chip is broken on a Hardware level. In this case, you have to physically desolder the CMOS Chip from the Mainboard and replace it with a new one (the same model that is).
Such a error message can look something like this:
After replacing the Chip, just jump back to Step 6 and try again.
Eero Kaan
2 comments
looks that your downloaded BIOS-File isn’t referenced correctly. As the message No such file or directory implies, the BIOS-File isn’t located in your current working directory, but rather as you mentioned in your default download directory. Assuming you’re using Debian/Ubuntu, the correct command would be flashrom -p serprog:dev=/dev/ttyACM0:115200 -w ~/Downloads/P9X79.CAP .
Hey man, great tutorial. I’m stuck at the last part though. When I type in -w P9X79.CAP it puts out that it found the chip but then says this: Error: opening file "P9X79.CAP" failed: No such file or directory . So how can I get this? I downloaded it into my downloaded files. Thanks for the tutorial and would love If you could help me. Thanks!
Во время очередной уборки был случайно выключен удлинитель, к которому были подключены работающие системный блок и монитор. Системный блок состоит из:
- материнская плата — ASRock B75 Pro 3
- процессор — Intel Core i5-3570
- блок питания — Corsair CX750M
Порылся в интернете, выяснил, что точная причина неисправности может быть совсем другая. Это вселило небольшую надежду. Но надо как-то найти эту самую причину.
В первую очередь подключил другой старенький БП — комп не запускается.
Для дальнейших проверок принес домой автомобильный комп. Состав:
- материнская плата — ASRock B75M-ITX
- процессор — Intel Pentium G640T
Вытащил из автомобильного компа процессор, вставил его в домашний — комп не запускается. Но появилась надежда, что процессор все таки цел, а неисправна материнка, которая немного дешевле (хотя новые на чипсетах не H61 и H67 — дефицит).
Далее домашний процессор вставил в автомобильный комп — комп заработал. Следовательно, процессор живой, а проблема в материнке. Начал грешить на BIOS (Winbond 25Q64BVAIG).
Собственно, программирование
Хорошо, что микросхема BIOS не впаяна, а на обычной панельке DIP-8. Программатора у меня нет, заказывать в Китае и ждать месяц — не выход. Решил сделать программатор из ноутбука жены и имеющейся в наличии Arduino Nano. Покопался в интернете… Везде в основном прошивка заливается через COM-порт, я же решил прошивать с карты памяти (так вроде гораздо быстрее).
Набросал схему подключения:
Собрал все на макетной плате:
Тип и объем карты памяти, способ ее форматирования, имя файла должны соответствовать требованиям библиотеки SD Arduino.
Для начала набросал скетч, который считывает содержимое SPI Flash и записывает его в файл на карту памяти, попутно вычисляя контрольную сумму по методу Checksum-32, т.е. простым суммированием.
Запустил скетч, получившийся файл сравнил с оригинальным BIOS — получилось около 140000 несовпадающих байт.
Далее написал скетч, который читает файл с карты памяти и записывает его на SPI Flash, предварительно стирая чип.
Запустил, подождал, скетч вывел контрольную сумму, она совпала с контрольной суммой оригинального файла. Но это контрольная сумма файла на карте памяти, мне же нужна контрольная сумма содержимого SPI Flash.
Можно было использовать первый скетч, но написал третий, который только считает контрольную сумму содержимого SPI Flash по тому же алгоритму.
Контрольная сумма SPI Flash совпала с контрольной суммой оригинального файла.
После вставки прошитой микросхемы BIOS в домашний комп — он благополучно заработал.
В среде Arduino IDE необходимо установить библиотеку SPIFlash через управление библиотеками.
Контрольную сумму вычислял с помощью HEX-редактора HxD.
PS: Первоначально в качестве SD-модуля использовал вот такой:
Но с ним были частые глюки, не инициализировалась SD-карта. Помогало «горячее» переподключение самой SD-карты при подключенной к компу Arduino.
PPS: Вместо резисторов пробовал подключить двунаправленный конвертер сигналов:
Но с ним схема не заработала.
Появилась у меня идея сделать внешний интерфейс для счетчика воды, чтобы не лазать в подвал для снятия показаний. После некоторых размышлений я остановился на ATTiny2313A(стоит ~80р, а ставить для этого Arduino ценой в ~1000р. мне жаба не дает) + несколько резисторов, кнопок и 7-ми сегментный индикатор. Но остановился перед проблемой — в отличии от Arduino здесь нужен программатор. Поскольку я не сильно увлекаюсь МК, то программаторов у меня как-то не водится. Arduino теоретически можно использовать в этом качестве, но реально я этого никогда не делал.
В интернетах на эту тему есть много статей. Но, на текущий момент, они способны запутать неподготовленного человека. Проблема в следующем — на предыдущих версиях Arduino (Duemilanove, Diecimila) стоял чип FT232RL, который является преобразователем USB -> UART. На Uno этот чип убрали, заменив на Atmega8U2(МК запрограммированный на преобразование USB -> Serial). Соответственно большинство инструкций нам не подходят. Я уже думал что эта идея неосуществима, но неожиданно встретил подходящий вариант. С ним я вас и ознакомлю. Приступим:
1. Открываем Arduino IDE( у меня это v1.0) и заливаем на нашу Arduino Uno sketch называющийся ArduinoISP (File -> Examples -> Arduino ISP). Прошу обратить внимание на первые строчки файла — там содержится важная подсказка как подключать наш программатор к МК:
Собственно, после этого этапа мы уже имеем программатор типа avrisp, но нужно еще подключить к нему наш МК.
2. Смотрим в datasheet к нужному МК(у меня это ATTiny2313A) и ищем pinout. На следующей картинке я отметил интересующие нас ноги.
3. Теперь пришел самый интересный этап — подключаем наш программатор к МК. Собственно схема подключения не представляет из себя ничего сложного, но есть одна хитрость — нужно подключить конденсатор в 10мкФ(uF) между выходами RESET и GND у Arduino. Причем выход "-" (отмечен белой полосой) должен быть подключен к GND. Данный трюк предотвратит перезагрузку Arduino при заливке прошивки в МК.
Соединяем ноги МК и пины Arduino в соответствии с функционалом из pinout и sketch (Pin10 с ногой PA2, Pin11 с ногой PB5 и тд). Помним что VCC это питание, а в нашем случае — +5V. Для индикации я выбрал следующие светодиоды:
9: Heartbeat — Зеленый. Показывает что программатор работает. В процессе простоя постоянно мигает.
8: Error — Красный. Теоретически загорается при ошибках, но еще ни разу не видел.
7: Programming — Синий. Мигает аналогично Arduino'вским RX/TX при заливке прошивки в МК.
Повесил их через резисторы 220 Ом.
Собранная схема будет выглядеть примерно вот так:
4. Подготавливаем прошивку для нашего МК. Для тестирования я решил использовать обычное мигание светодиодом:
Компилируем в hex (выдрал команды из какого-то Makefile от WinAVR):
И заливаем на MK:
Хочу обратить внимание на ограничение скорости заливки в 19200. Без этого параметра я долго пытался что-то залить, но avrdude мне упорно возвращал ошибки типа «programmer is not responding» или «not in sync».
После этого можно подключить светодиод к ноге PB0 МК(через резистор конечно) и посмотреть как он мигает.
Приветствую всех пользователей хабра, в частности тех, кто страдает темой Arduino, как и я.
Меня уже давно спрашивают — можно ли прошивать hex файлы при помощи Arduino? Изменять фьюзы? Считывать прошивку? И всякое такое… Ответ — можно, и я сегодня вам расскажу, как я это делаю.
(Данное видео дублирует представленную ниже информацию)
Arduino — как по мне отличный старт для новичка, но нужно расти дальше, мир микроконтроллеров прекрасен и дарит огромные возможности, но, увы Arduino это довольно-таки узкопрофильное направление.
Небольшая предыстория:
Одного прекрасного дня, я наткнулся на отличный проект на ATtiny13, но увы автор выгрузил в сеть только hex-файл и схему, ну и конечно же, я так и не смог его попробовать в железе. Меня этот вопрос мучил всё больше и больше, и тут я случайно наткнулся на одно видео в сети, где автор утверждал, что он при помощи Arduino прошил другой микроконтроллер, имея только hex-файл, ну и схему, само собой. Именно он мне подсказал — используй SinaProg, но с Arduino'вскими файлами…
Пройдёмся коротко по возможностям софта:
В блоке Hex-file выбираем hex или eep(первый — прошивка, второй — содержимое энергонезависимой памяти).
В блоке Flash есть кнопки:
Program — запись hex-файла в микроконтроллер(возможно, когда выбран Hex-file);
Verify — проверка прошивки, что в микроконтроллере, и hex-файла(проще говоря, их сравнение), если всё норм — программа говорит OK;
Read — считать hex-файл.
С блоком EEPROM всё по аналогии.
Далее блок Device, тут можно выбрать нужный микроконтроллер, вот весь список поддерживаемых(список выдрал из файла Device.txt, который лежит в папке SinaProg 2.1.1\data\):
Шутка, вон их сколько:
AT90CAN128
AT90CAN32
AT90CAN64
AT90PWM2
AT90PWM2B
AT90PWM3
AT90PWM3B
AT90USB1286
AT90USB1287
AT90USB162
AT90USB646
AT90USB647
AT90USB82
AT90s1200
AT90s2313
AT90s2323
AT90s2333
AT90s2343
AT90s4414
AT90s4433
AT90s4434
AT90s8515
AT90s8535
ATmega103
ATmega128
ATmega1280
ATmega1281
ATmega1284P
ATmega128RFA1
ATmega16
ATmega161
ATmega162
ATmega163
ATmega164P
ATmega168
ATmega169
ATmega2560
ATmega2561
ATmega32
ATmega324P
ATmega325
ATmega3250
ATmega328P
ATmega329
ATmega3290
ATmega3290P
ATmega329P
ATmega48
ATmega64
ATmega640
ATmega644
ATmega644P
ATmega645
ATmega6450
ATmega649
ATmega6490
ATmega8
ATmega8515
ATmega8535
ATmega88
ATtiny11
ATtiny12
ATtiny13
ATtiny15
ATtiny22 2343
ATtiny2313
ATtiny24
ATtiny25
ATtiny26
ATtiny261
ATtiny44
ATtiny45
ATtiny461
ATtiny84
ATtiny85
ATtiny861
ATtiny88
ATxmega64A1
ATxmega128A1
ATxmega128A1D
ATxmega192A1
ATxmega256A1
ATxmega64A3
ATxmega128A3
ATxmega192A3
ATxmega256A3
ATxmega256A3B
ATxmega16A4
ATxmega32A4
ATxmega64A4
ATxmega128A4
Как видите, есть все популярные микроконтроллеры фирмы ATmel, в частности ATmega328P, ATmega8, ATtiny13, ATtiny2313 и всякие другие…
Далее — кнопка Search, если её нажать, то программа попытается прочитать сигнатуры того микроконтроллера, который подключен к программатору, проще говоря, поищет микроконтроллер. Потом может ответить „OK“ или „ERROR“ в информационном блоке, если всё нормально, или нет, соответственно.
В блоке Fuses есть предустановки для ATmega8 для работы на разных частотах, но, увы, только для ATmega8 и ATmega32, можно добавить в файле Fuse.txt (который лежит в папке SinaProg 2.1.1\data\).
Есть кнопка Program — записать предустановки, смотрим на абзац выше.
А так же Advanced — лихая кнопка, после её нажатия можно увидеть вот такое окно:
Device signature — какие-то циферки, я так понял это идентификатор микроконтроллера, по ним программа опознаёт, что за микроконтроллер мы ей суём.
Информационная часть, всё как выше.
Чуть ниже идут фьюзы… если уж зачешется, то не забывайте их сначала считать кнопкой Read(чтобы не нарочно изменить важные фьюзы, например «SPIEN» или «RSTDSBL»), записать фьюзы — кнопка Write, кнопка Chip Erase стирает микроконтроллер, что-то примерно напоминает — форматирование флешки на компьютере(но фьюзы не устанавливаются по умолчанию, так что забывать об этом не стоит).
Пару слов о фьюз-битах — это такие как бы тонкие подстройки микроконтроллера, то частоту поднять, то убавить, то вкл/выкл тактирование от внутренней RC цепочки то ещё что-то… в общем, туда лезть только в крайнем случае, иначе можно заблокировать микроконтроллер(нашаманить так, что перестанет работать, серьёзно), и уже без Atmega fusebit doctor никак.
Вот первая ссылка с гугла по запросу «калькулятор фьюзов», но предупреждаю, тыкать что-то там, не зная зачем оно, и потом это записывать в микроконтроллер — ни к чему хорошему не приведёт, я-то знаю.
Далее ещё какой-то информационный блок, не вникал особо. Ну и кнопка выход, я думаю вы уже об этом догадались, даже если и не знаете английский.
Итак, последний блок основного окна программы — Programmer, тут выбирается тип программатора, если вы используете Arduino в качестве программатора — ставьте всё, как у меня на скрине, только не COM19, это у меня такой, у вас, наверное, будет другой, в любом случае точно не COM1, первый это системный, актуален только для программаторов, которые подключаются к реальному COM порту, например, Программатор Громова. На ноутбуке COM-порта может не быть, а на компьютерах, как правило, COM-порт ещё есть, особенно тех, что постарше. Можно использовать и другой программатор, к примеру, USBASP, только не забываем выбрать его в списке, скорость для него я ставлю такую же как и в случае с AVRISP.
Список поддерживаемых программаторов:
Gromov
USBtiny
ALF
Arduino
AT ISP
AVR109
AVR910
AVR911
AVRISP
AVRISP 2
AVRISP mkII
AVRISP v2
Bascom
Blaster
BSD
Butterfly
C2N232I
DAPA
DASA
DASA 3
Dragon_DW
Dragon_HVSP
Dragon_ISP
Dragon_JTAG
Dragon_PP
DT006
ERE-ISP-AVR
Frank-STK200
Futurlec
JTAG 1
JTAG 1Slow
JTAG 2Slow
JTAG 2
JTAG 2Fast
JTAG 2ISP
JTAG 2dW
JTAG mkI
JTAG mkII
MIB510
pAVR
Picoweb
Pony-STK200
ponyser
SI Prog
SP12
STK200
STK500
STK500 HVSP
STK500 PP
STK500 v1
STK500 v2
STK600
STK600 HVSP
STK600 PP
USBasp
Xil
Лично я тестировал только на программаторах AVRISP(Arduino с прошитым скетчем ArduinoISP) и USBasp, на двух микроконтроллерах — ATmega8 и ATtiny13.
Чтобы можно было шить/читать/изменять фьюзы/ убить микроконтроллер при помощи Arduino, предварительно нужно зашить скетч ArduinoISP, подключив всё, как я писал, например вот тут:
Если в двух словах, то подключаем пины Reset, MOSI, MISO, SCK микроконтроллера, который будем прошивать/считывать прошивку/изменять фьюзы так, как указано в скетче в комментариях, а именно:
Вот пример подключения к ардуине ATmega8:
Ну и по аналогии… Ищем карту пинов, например, в даташите (техдокументация на МК) интересующего нас микроконтроллера, вот, к примеру, первая ссылка из гугла по запросу «ATmega8 pdf».
PS У меня было такое, что ATtiny13 перестала прошиваться, на попытки её программирования, после того, как я попробовал запустить её на частоте 128 kHz, откопал где-то вот такой, слегка модифицированный код ArduinoISP который заставляет прошивку/изменение фьюзов происходить медленнее в несколько раз и может ещё какая-то магия, не разбирался, честно.
В общем это нужно чтобы перепрошивать 8 ножные SPI флешки. А это в свою очередь нужно чтобы восстанавливать роутеры, сбрасывать пароли на биосы и восстанавливать их, и много чего еще.
Будем делать за 10 минут самый простой программатор своими руками на Ардуино 🙂 Понадобится Arduino Pro Micro ну или любая другая (будет отличаться только распиновка на ардуино). Собираем эту сложную схему:
Пофиг что 5 вольт, еще ничего не сгорело ни разу. Но только выпаивать флешки надо из платы, так как другие элементы могут быть не такими устойчивыми))))
Вот прошивка (скетч) для ардуины:
Ничего сложного и главное нет лишних деталей в схеме))) Главное правильные библиотеки — скачать их вместе с прошивкой тут: spi-eeprom-fw2.zip
Пробовал на флешках 25Q128FVSG, 25L3206E, еще какая-то роутерная безымянная.
126 Comments
Здравствуйте! А как с Вами можно связаться? Вопросик по этой программке появился
admin
Александр
Приветствую.
Попробовал собрать данный прибор на UNO и на MEGA, работает на простых SPI 25-йсерии.
Могу я вас попросить доработать устройство для работы с Flash AT45DB161 — Atmel ?
Очень интересная микруха, а как правильно читать-записывать никак не разберусь.
Спасибо.
admin
Сейчас времени нет, но там в принципе не сложно, можете сами попробовать. Схема подключения другая и библиотеку для записи чтения можно найти
Мансур
Здравствуйте! Я всё скачал. прошил ардуину вашим скетчем. Но до меня не доходит как залить прошивку в флешь. Нету кнопки залить или закачать. Только сохранить получается. Подскажите пожалуйста. Очень надо прошить тв с 8 мегабайтной spi. Мой прогер только до 2-х мега берёт. И ещё не понял в архиве 3 файла. 1 то понятно скетч а 2 других куда?
admin
Здравствуйте! Ставите курсор в начало флеша (на нулевую позицию) и нажимаете «вставить файл в текущую позицию», затем выбираете файл прошивки и ждете ))
Насчет двух дополнительных файлов — это вспомогательные файлы с функциями для скетча, просто пусть они лежат в той же папке, что и сам файл скетча, ардруино сама их подцепит, с ними ничего делать не нужно.
Здравствуйте! А можно этим программатором шить флешки биосов материнок , если да а как туда залить (в прогу) прошивку для биоса?
admin
Да наверно, надо только проверить что флешки именно с SPI интерфейсом и ее нужно все ж выпаять из материнки. Чтобы точно сказать напишите модель флешки.
А чтобы прошить надо сначала сделать бекап (скачать фулфлеш). Потом поставить курсор на самый первый байт в редакторе и нажать «Вставить файл в текущую позицию»
Filin
Было бы здорово еще исходники проги-программатора заполучить, с целью общего развития и возможного допиливания 🙂
admin
Для общего развития если просто посмотреть — можно декомпилировать без проблем)) а что Вы бы улучшили? Есть предложения? Я готов работать над программой.
Filin
Декомпилировать — это для меня слишком круто 🙂 Я пока только начинаю интересоваться этой темой. Ну нет так нет, не критично. В любом случае спасибо за статью, для начинающего самое то — коротко и по делу.
admin
Виктор
А если я буду использовать аналог Меги2560 — что нужно изменить? Хочу попробовать прошить флэш мульта ноутбука. Еще есть у мня USB-TTL и COM-TTL переходники. Может как-то с их помощью можно прошить?
admin
Думаю с мегой2560 проблем не возникнет, номера ног для MOSI, MISO и SCK немного другие, но они должны быть соседние.
Насчет USB-TTL и COM-TTL не знаю, мне кажется есть какие-нибудь программаторы, которые работают через эти переходники, но я не встречал
Виктор
я так понял -= у вас 2-й пин это SDA. 15й — SCL, 14- MISO 16 — MOSI. это аппаратная распиновка предусмотренная изготовителем контроллера?
тогда на Mega2560 20й пин — SDA, 21й — SCL, 50 — miso, 51 — mosi. Так и подпаивать к флэшке?
SDA — нога 1
MISO — нога 2
VCC — нога 3, 7, 8
GND — нога 4
MOSI — нога 5
SCL — нога 6
скетч я уже залил в контроллер, в программку Вашу загрузил BIN с прошивкой, контроллер при прошивке в пустоту мигает светодиодами. осталось припаять пациента и экспериментировать.
admin
Виктор
Смотрел по схеме. да, 52 пин это SCK. Просто у меня на плате есть надписи где 21 — SCL.
А вообще я ступил, тут же прям посередине платы есть 6-пиновый разъем ICSP — буду от туда подключатся. там и MISO и MOSI и SCK и Vcc и GND. А 2-й пин значит задается в скетче в начале?
По поводу переходников — они наверное в другой ситуации используются, там интерфейс UART, т.е. по Rx и Tx данные передаются.
admin
admin
а 2 пин да, задается в начале. Можно любой использовать какой нравится)
Виктор
Да. и на 2560 есть 2 питания 3,3v и 5v, какое надежнее использовать?
admin
Я все делал на 5 вольтах, хотя по документации надо 3.3. попробуйте 3.3 — если не заработает тогда 5 🙂
Виктор
а какой размер выставлять? в даташите есть такая инфа:
Pm25LD010: 128K x 8 (1 Mbit)
admin
Виктор
Все. Спасибо дружище. Прошил флэху. Ноут сразу запустился. До этого лежал мертвым, даже индикации заряда АКБ небыло.
Александр
admin
Александр
При попытке перезалить скетч выдает : Arduino: 1.6.6 (Windows XP), Плата:»Arduino/Genuino Uno»
avr-g++: error: missing filename after ‘-o’
exit status 1
Ошибка компиляции.
Александр
Установил последнюю версию Arduino IDE, скетч залил без ошибок. Буду искать 64 разрядную ОС.
Александр
Всё прошил на отлично !
Теперь подробнее, возможно кому-то поможет. ОС WIN 7 32-разрядная(достаточно оказалось), на всякий случай поставил последнюю версию Net.framework 4.5.
Плата китайская Ардуино Uno.
Подключение :
Ардуино Микросхема
2 1 D2
12 2 MISO
3.3 v 3, 7, 8 Vcc
GND 4 GND
11 5 MOSI
13 6 SCL
Автору — искренняя благодарность .
P.s. а какие еще типы флешек можно прошивать по Вашей методике ?
admin
Был рад помочь. Только SPI флешки
Виктор
Доброго дня. Сегдня принесли автомобильный видеорегистратор, висит на заставке. Пробую прошить. На офсайте прошивка заливается через SD карту. Результата нет — закачал на Sd, включил — все равно не прошился. Я его разобрал и сразу обратил внимание на SPI память с маркировкой 25L320SE. Я так понял микропрограмма вся хранится на этой флэшке? может также прошить с ардуины? других микросхем памяти я не нашел на плате. файл прошивка в формате BIN.
Виктор
сори 25L3206E. такая как у Вас в инструкции.
Виктор
я вообще на WIN 10 64x шил. все в норме прошло. Воскресил ноутбук) щас буду пробовать регистратор восстановить. А вообще заказал программатор на aliexpress что б не паяться к ножкам. стоит он 200 рублей.
Виктор
Денис
Спасибо автору!
Этим способом удалось прошить SATA контроллер.
Легион
Шил 25032xx Через переходник 5 ->3.3 читает но не пишет. Воткнул напрямую. Шьет. Спасибо.
Metamorf
Распиновка Arduino nano v3.0
1 — d2
2 — 12
3,7,8 — vcc (5v)
4 — GND
5 — 11
6 — 13
Андрей
Привет, микросхема 25l8006e со скаллера (после кривой прошивки через усб, была не вовремя прервана). При запуске этого программатора, после выбора нужного ком-порта, открывается окно программы с белым экраном вместо данных и зависает — not responding. Куда копать? Большое Спасибо.
admin
Андрей
Получилось с Мегой! С Nano v3 на отрез отказывается работать. Спасибище. 🙂
Сергей
Всё отлично, хороший программатор на скорую руку получается. Автору огромное спасибо. Только вот я его нагуглил, когда хотел прошить 93C56… А такие маленькие он не шьет(
admin
прошьет))поставьте минимальный размер при прошивке. если нужно считать — фулфлеш потом обрежете просто. а если нужно записать — курсор ставьте на первый байт и записывайте файл нужного размера, хоть 64 байта ))
Алексей
Спасибо автору! Если внимательно прочитать и сделать как описано, то все получится! Впервые решил перепрошить роутер. Была под рукой запылившаяся Ардуино Нано. Соединил провода. Скачал последний IDE. Прошил успешно.
Павел
Спасибо автору огромное! Очень помогло! Вот только не решил проблему: на меге 2560 первые 128 байт заливаются сплошные FF.
admin
Может флеш не исправна?
Константин
Все собрал. ID читает. После нажатия на считывание фулфлеш программа перестает отвечать. Как с этим бороться? Заранее спасибо
admin
Вариантов несколько:
— либо слишком длинные провода к флешке
— либо слишком китайская ардуина (например нано в3)
— либо дохлая флешка
Огромное спасибо автору! Восстановил камеру Soocoo C30 после неудачной прошивки. Все супер !
Wikly
Автор молодец! Спасибо! Было бы прям совсем отлично, если бы сама прога на ПК была под 32х разрядную систему!
Wikly
И еще, при попытке скачать фулфлеш, почему то сохраняется только 4 КБ из 4096. Хм.
Arduino UNO,
flash: Winbond w25q32bv
Читайте также: