Всем привет! Надо считать всю инфу с MX25L4005C(типо биос (SPI FLASH)) при помощи Arduino UNO или MEGA. Поискал в интернете - не работает. Про специальные программаторы не говорить! Помогите пожалуйста считать (именно СЧИТАТЬ) всю информацию с этой SPI FLASH памяти.
_________________
ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа
Вопрос уже отпал. Считал при помощи 3.3 вольтовой(это важно, 5 вольт могут убить память, но это не точно!) Arduino Pro Mini, flashrom'а и frser-duino (в командной строке виндовс 7). |- Статья, где описано как и, что делать -|.
Копипаст статьи, на случай, если её удалят: СпойлерВосстановление ProDVR/HMDVR
Совсем недавно получил шлем Eachine VR D2 со встроенным модулем DVR. Даже не успел сделать по нему обзор, как случилось несчастье. При попытке залить новую прошивку на DRV, последний перестал подавать признаки жизни. По простому - "окирпичился". Стал искать возможные способы восстановления работоспособности. Информации в интернете на эту тему очень мало, но нашлись добрые люди, которые указали в нужном направлении.
Сначала суть проблемы. Иногда у рекордеров ProDVR/HMDVR слетает прошивка. Это может произойти во время включения, во время обновления прошивки или по другой причине. Устройство просто перестает подавать признаки жизни и не реагирует на органы управления. Именно это у меня и случилось при обновлении прошивки DVR на шлеме Eachine VR D2 и еще раньше на HMDVR.
Для восстановления потребуется пара вещей, которые наверняка есть у большинства FPV-шников. Это китайский клон Arduino Nano и регулятор напряжения на 3.3 вольта. Последний может быть любым. Таким, таким, таким, таким или таким. В общем, лишь бы мог преобразовывать напряжение из 5 вольт в 3.3 вольта.
Прошивка содержится в чипе памяти MX25L1605, который может работать в диапазоне напряжений 2.7-3.6 вольт. Более высокое напряжение убьет чип. Это важно!
Восстановление проходит в два этапа: создание программатора и собственно прошивка чипа памяти. Программатором будет выступать немного модифицированная Arduino Nano. Сделал так, чтобы Arduino Nano могла работать от напряжения 3.3 вольта. Для этого просто удалил диод, который стоит на входе питания, и в этот разрыв подключил регулятор напряжения на 3.3 вольта. Если регулятор напряжения с подстроечным резистором, то надо заранее выставить выходное напряжение в диапазоне 3.0-3.3 вольта. Не забываем, это важно!
Затем залил в Arduino Nano прошивку frser-duino, чтобы получился программатор для чипа памяти. Так как у меня на компьютере используется Ubuntu, то и команды в первую очередь буду давать под нее. Но и про пользователей Windows не забуду, продублирую операции:)
Для Ubuntu нужно установить дополнительные программы flashrom и avrdude. Затем создать каталог "recoverdvr" и скачать туда все необходимое. Просто открываю терминал и выполняю следующий набор команд:
avrdude: Device signature = 0x1e950f (probably m328p) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "frser-duino.hex" avrdude: input file frser-duino.hex auto detected as Intel Hex avrdude: writing flash (1368 bytes):
avrdude: verifying ... avrdude: 1368 bytes of flash verified
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
Вот и готов программатор! Легко, не правда ли?
Для Windows все будет не так просто и несколькими командами не отделаешься:) Сначала нужно скачать и установить драйвера для китайского клона Arduino Nano и убедить Windows в их безопасности. У меня это получилось только через перезагрузку и выбор загрузки без проверки подписи драйверов. Подключил Arduino Nano и в диспетчере устройств в разделе "Порты (COM и LPT)" нашел устройство "USB SERIAL CH340", а в скобочках рядом был указан виртуальный COM-порт. У меня был "COM3". Запомните этот номер порта, он потребуется ниже.
Затем создал каталог "c:\recoverdvr" и в дальнейшем все складывал туда. Скачал flashrom в эту папочку, затем скачал XLoader и распаковал так же в эту папочку. Скачал файлы прошивок frser-duino.hex и prodvr-dump.hex в ту же папочку "c:\recoverdvr".
В Windows программа XLoader - это просто оболочка для запуска программы avrdude, которую использовал в Ubuntu. Запускаем XLoader.exe, в поле "Hex file" выбираем файл прошивки frser-duino.hex. Остальное, как на скриншоте, кроме поля "COM port". Тут надо указать тот порт, который нужно было запомнить выше.
Затем жму кнопку Upload и, если все в порядке, в нижней строке будет сообщение "1368 bytes uploaded". Все, теперь и тут получился программатор:) На эту процедуру у меня ушло в несколько раз больше времени, чем в случае с Ubuntu.
Раз программатор готов, надо его проверить. Для начала нужно измерить напряжение на выводах D10 и D11 программатора. Должно быть тоже самое напряжение, что и поступает на модифицированную Arduino Nano с регулятора напряжения, то есть 3.3 вольта. Если с этим в порядке, то надо проверить возможность работы программы flashrom с программатором. В Ubuntu выполняю следующую команду:
flashrom v0.9.9-rc1-r1942 on Linux 4.4.0-22-generic (x86_64) flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "frser-duino" No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically.
А в Windows запускаю командную строку CMD и выполняю аналогичную команду. Не забываем указать в параметрах свой, запомненный ранее, номер COM-порта:
flashrom v0.9.7-r1781 on Windows 6.1 (x86) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "frser-duino" Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on serprog. === This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -VE, -Vw), and mention which mainboard or programmer you tested. Please mention your board in the subject line. Thanks for your help! No operations were specified.
Во всем этом пока что интересна только одна строка "serprog: Programmer name is "frser-duino"". Это значит, что программа flashrom может общаться с новоиспеченным программатором.
Осталось только подпаять программатор к чипу памяти и наконец-то восстановить в нем прошивку. Схема подключения получается следующая:
В собранном виде оно выглядит так:
Чип памяти довольно крупный, подпаивать провода к нему легко. Если все готово, то пробую залить прошивку. В Ubuntu это делается такой командой:
Программа flashrom работает довольно долго, минут 12-15. Вот результат работы:
Код:
flashrom v0.9.9-rc1-r1942 on Linux 4.4.0-22-generic (x86_64) flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "frser-duino" Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on serprog. Reading old flash chip contents... done. Erasing and writing flash chip... FAILED at 0x00001000! Expected=0xff, Found=0x2b, failed byte count from 0x00000000-0x0000ffff: 0xed13 ERASE FAILED! Reading current flash chip contents... done. Looking for another erase function. Erase/write done. Verifying flash... VERIFIED.
Как видно, в чип памяти удачно залилась прошивка. Ура!
Теперь тоже самое проделаю в Windows. В ранее открытой командной строке ввожу следующую похожую команду. Снова не забываем в ней заменить номер COM-порта на свой:
В Windows программа отработала раза в три быстрее, без верификации данных:
Код:
flashrom v0.9.7-r1781 on Windows 6.1 (x86) flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK. serprog: Programmer name is "frser-duino" Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on serprog. Reading old flash chip contents... done. Erasing and writing flash chip... Warning: Chip content is identical to the requested image. Erase/write done.
Прошивка и здесь удачно залилась!
Вот и весь процесс восстановления. Теперь, отпаяв все провода, можно попробовать залить обновленную прошивку обычным способом, через карту памяти. Лучше это сделать сразу, пока не производилось никаких настроек через меню DVR, тогда шансов на удачное обновление прошивки будет больше. Если DVR после обновления снова "окирпичится", то можно повторить весь процесс снова:) Удачной прошивки! Сразу скажу, что XLoader'а нету , по этому я заюзал маленький, удобный и рабочий gcUploader. Моей целью было считать флешку с прошивкой ("BIOS") принтера EPSON L200, что у меня успешно получилось . Вот архив с gcUploader'ом, дампом прошивки ("BIOS") принтера EPSON L200 и сам "frser-duino.hex". Не забываем про "README.TXT"!
_________________
ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа
Прошивка принтера которая была считана с SPI FLASH (BIOS) некорректно работает при сканировании (+копировании) "при помощи кнопки", а именно полосит.
Кратко:прошивка в SPI FLASH (BIOS) с дефектом - соответственно и дамп тоже.
При сканировании при помощи программы на компьютере и отправки её на печать, то всё отлично.
P.S.: Сканер был подключен от такого-же переделанного принтера на котором данного дефекта не наблюдается.
_________________
ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа
А написать собственную прожку для работы с той мелкосхемой? Это ж ПРОСТЕЙШИЙ ногодрыг в основе - и с данными обращайся как хош по собственному усмотрению.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
А написать собственную прожку для работы с той мелкосхемой? Это ж ПРОСТЕЙШИЙ ногодрыг в основе - и с данными обращайся как хош по собственному усмотрению.
1) Зачем изобретать велосипед? 2) Нету сил, времени и навыков. Может, что-то и получится, но будет куча говно-кода + баги/лаги. 3) Это надо будет делать поддержку и других микросхем (программатор должен быть более-менее универсален (Мы же программим все ATMega, ATTiny одним и тем же USBASP/ISP, а не делаем под каждый МК AVR свой программатор)), но как сказанное во 2 пункте:
Цитата:
Нету сил, времени и навыков. Может, что-то и получится, но будет куча говно-кода + баги/лаги.
_________________
ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Lublu_megy, Привет, ты Ардину переделывал под питание 3.3В? А по какой схеме флешку подключал. Кувыркаюсь с ней уже два дня подряд и ничего не получается. gcUploader бинарник в Ардуину заливает, затем, когда в консоли набираю:
я канечно дико извиняюсь за офтоп но пожалуста поясните какаго такого лешева делат из абдурины спецпрогер(причем хреновый) когда за 200-500р(от жадности продаваноф) ленко покупается готовый свисток шьющий и SPI (серия 25)и I2С(серия24) софт тоде разный под них вапляется во фри и стоковый кетайски и писаный нашими рашенскими Билами причем обе масовых версии у меня емеются шьют на ура и там для дипа Zсокет иметца чтоб улобне вставлят в коплект входит печатка переходнику куда можно припаяят SMD верс. ципок наиболе масовые на ципках ch341a(питание там3.3 такчо за цпку можно не боятца (бонусом им можно шить атмелыи пики внутрисхемно (но шнурок придется спаять сам)
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
musor, а вы сами-то этими поделками за 200-500₽ пользовались? Мне пришел один такой, ни одну микросхему 25й серии он так и не прошил. Отправился на разбор по причине неработоспособности. А вот Arduina выручила. Нужен был проггер вот прям вчера, а из Китая ждать было долго. В данном конкретном случае помог товарищ из сервиса своим EZP2019. Сейчас жду такой же с Китая. НО, честно говоря, и с EZP2019 гимора хватает, мне он тоже не понравился. Самый хороший проггер, что я в руках держал - MiniPro, но он стоит дороговато. Чтоб родственникам и друзьям телеки/моники за спасибо ремонтировать... ну уж нет, извините.
Странно..... сначала перешил свой USBasp, добавив возможность шить I2C и SPI флешки, пользовался пару лет, потом прикупил ch341 (1 прогер и 2 голых микросхемы - ими исправил глючные USB-LPT переходники для принтеров - да, эта микра это умеет) и шьёт ощутимо быстрее переделанного USBAsp`а, а прищепка, что с прогером в пакете лежала - вообще удобная штука (до этого пациента на макетке распаивать приходилось ) шью прогой ASProgrammer (в сундуке лежит) и горя не знаю
Добавлено after 7 minutes 18 seconds: Кстати, прогер 341 имеет в печатке косяк - его нужно устранить сразу-же, иначе возможны потери среди препарируемых пациентов (из-за этого косяка он питание дает 3.3V, а управление 5V)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения