Программатор ezoflash своими руками

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

Мы решили назвать этот программатор "Янус".

Почему так? Потому что в римской мифологии Янус - это двуликий бог дверей, входов и выходов, а также начала и конца. Какая связь? Почему наш программатор ChipStar-Janus двуликий?

  • C одной стороны, этот программатор - простой. Распространяется как бесплатный проект, его можно легко изготовить самому.
  • C другой стороны, он разработан фирмой, длительное время профессионально занимающейся разработкой и производством различной радиоэлектронной аппаратуры, в том числе программаторами.
  • C одной стороны, этот программатор - простой, с первого взгляда имеет не сильно впечатляющие характеристики.
  • C другой стороны, работает совместно с профессиональной программой (кстати, точно такой же, как и остальные профессиональные программаторы ChipStar).
  • C одной стороны, мы предлагаем этот программатор для свободной бесплатной сборки.
  • C одной стороны, мы его продаем и в готовом виде, как обычный бюджетный продукт.
  • C одной стороны, на самодельный программатор не распространяется гарантия (что естественно).
  • C одной стороны, если вы его смогли собрать, то и отремонтировать сможете, да и программатор настолько простой, что ломаться, собственно, нечему.
  • C одной стороны, это простой внутрисхемный программатор.
  • C одной стороны, через простые адаптеры расширения он поддерживает программирование NANDFLASH и других микросхем уже "в панельке".

Таким образом, программатор ChipStar-Janus для многих специалистов может стать настоящим выходом в ситуации, когда разных простых или любительских программаторов уже недостаточно, а более сложный программатор кажется избыточным или на него не хватает выделенного бюджета.

Что нас побудило разработать этот программатор.

Есть великое множество простых специализированных программаторов, пригодных для самостоятельного изготовления.

Есть множество дешевых китайских программаторов в уже готовом виде.

Есть немало любительских разработок, часто по качеству превосходящих последние.

Казалось бы, в чем смысл очередной поделки?

Мы длительное время занимаемся разработкой производством и поддержкой универсальных программаторов, в основном специального назначения. У нас богатый опыт работы с самыми разными микросхемами. Часто к нам обращаются люди уже собравшие, а часто и купившие, какой-нибудь из выше названных "изделий". Нашим специалистам часто без смеха/слез/ужаса (нужное подчеркнуть) невозможно смотреть на схемные решения, качество сборки и, особенно, на программное обеспечение этих приборов. Ладно когда программатор стоит "три копейки", купил, что-то работает, что-то не работает, зато деньги не большие. Но часто соотношение цена/возможности таких приборов у нас вызывают, мягко говоря, удивление. Хочется воскликнуть: это столько не стоит!

Кроме всего выше названного есть особая категория программаторов, пригодных для самостоятельного изготовления - это программаторы (точнее, схемы программаторов и программное обеспечение), разработанные специалистами фирм производящих микросхемы (в основном микроконтроллеры). Такие программаторы спроектированы вполне профессионально, в их схемотехнике нет "ляпов". Они поддерживают все заявленные микросхемы. Но есть два "маленьких" недостатка: перечень программируемых микросхем весьма ограничен (что вполне понятно) и программное обеспечение весьма спартанское - никаких лишних функций, как правило - только стереть, записать, верифицировать. Часто даже функции чтения микросхемы нет.

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

Итак, программатор ChipStar-Janus в начальной конфигурации - это внутрисхемный программатор. В таком режиме он поддерживает микроконтроллеры PIC и AVR фирмы Microchip, некоторые микроконтроллеры архитектуры MCS51, микроконтроллеры фирмы STMicroelectronics и еще ряд других, а также микросхемы последовательной памяти с интерфейсом I2C (в основном серия 24). К разъему расширения программатора можно подключить простейшие адаптеры и начать программировать микросхемы памяти "в панельке".

Сейчас реализовано программирование "в панельке":

  1. микросхемы последовательной памяти (Serial EPROM) с интерфейсом I2C (серия 24xx);
  2. микросхемы последовательной флэш памяти (Serial FLASH) с интерфейсом SPI (SPI Flash);
  3. микросхемы последовательной памяти (Serial EPROM) с интерфейсом MW (серия 93xx);
  4. микросхемы NAND FLASH;

Программатор и программное обеспечение поддерживает технологию самостоятельного добавления микросхем в три клика. Пока реализовано добавление микросхем NAND и I2C. В самое ближайшее время планируется реализовать эту технологию для микросхем MW (серия 93xx) и AVR. Таким образом, вы получаете не просто программатор, а мощный инструмент для самостоятельной работы.

Три способа получить программатор ChipStar-Janus

1-й способ:
Собрать программатор самому полностью

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

2-й способ:
Собрать программатор самому, купив готовую печатную плату и прошитый микроконтроллер

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

Как видите, этот путь значительно короче. Готовая плата выпускается только в варианте для компонентов поверхностного монтажа, как на фотографии готового программатора. Если вы выбрали этот способ, пройдите по ссылке и закажите комплект для сборки программатора ChipStar-Janus.

3-й способ:
Купить готовый программатор

Проще всего купить готовый программатор. Этот случай ничем не отличается от покупки любого другого нашего программатора.

Что мы еще планируем сделать для развития программатора ChipStar-Janus

1. Расширить возможности самостоятельного добавления микросхем, добавив:

  • Микросхемы памяти c протоколом MWсерии 93xx.
  • Микросхемы памяти c SPI интерфейсом.
  • Микросхемы памяти DataFlash.
  • Микроконтроллеры AVR семейств Mega и Tiny.

2. Выпустить дополнительные модули для превращения программатора в измерительную лабораторию:

Что еще имеет смысл купить или сделать своими руками для программатора ChipStar-Janus

    для программирования микросхем NAND. для программирования микросхем последовательной памяти с интерфейсами I2C и SPI. для программирования микросхем последовательной памяти с интерфейсом MW (93 серия).

Часто спрашивают

ChipStar-Janus это готовый программатор, а ChipStar-Janus/KIT это набор основных деталей для сборки программатора ChipStar-Janus.

Посмотреть и отредактировать можно программой CAM350.
CAM350® является стандартом де-факто для проверки, оптимизации и генерации данных для эффективного управления изготовлением печатных плат.

Правильно собранный программатор ChipStar-Janus сразу будет правильно работать. Ищите ошибку монтажа или неисправный компонент. Проверить функционирование программатора можно с помощью программы JanusCheker.
Всегда используйте программное обеспечение и документацию самой последней версии!

В документации на программатор ChipStar-Janus разъем Х2: сигнал D0 - вывод 17, D1 вывод 18. А в документации на адаптер для NAND (разъем Х1) - D0 вывод 6, D1 вывод 7. Нет ли в этом ошибки?

Ошибки нет. Все так и должно быть.

На принципиальной и монтажной схеме программатора ChipStar-Janus диод VD6 подключен в одном направлении, а на рисунке, на самой печатной плате - в противоположном. Чему верить?

Правильное включение диода VD6 показано в документации. Рисунок диода VD6 на печатной плате первой версии нанесен неверно. Включение программатора с неправильно запаянным диодом не приведет к выходу его из строя.

Никаких. Микроконтроллер нужно правильно прошить высоковольтным алгоритмом записи в соответствии со спецификацией Microchip.

Нужно ли при прошивке контроллера PIC18F25K50 для программатора ChipStar-Janus как-то особо выставлять fuses?

Все необходимые fuses интегрированы внутрь прошивки (файл .hex) в соответствии со спецификацией Microchip. Программатор ОБЯЗАН правильно читать фусес из файла прошивки.
Если программа используемого программатора не умеет прочитать фусес из файла, то их нужно выставить вручную как показано здесь: "Биты конфигурации (фусес) для прошивки микроконтроллера программатора ChipStar-Janus/KIT"

Могу ли я перепрошить микроконтроллер PIC18F25K50 не выпаивая его из платы программатора ChipStar-Janus?

Да. Только придется отпаять VD6 (он препятствует подаче высокого напряжения программирования 12V на вывод MCLR процессора). Соединение с программатором необходимо произвести в соответствии со схемой для внутрисхемного программирования и инструкцией используемого программатора.

Нет. Нужно использовать PIC18F25K50.

Как зарегистрироваться у вас на сайте, чтобы скачать прошивку для программатора Chipstar-Janus? Программатор собирал сам, а при регистрации запрашивается серийный номер и дата выпуска.

На странице с описанием программатора Chipstar-Janus об этом написано: зарегистрироваться нужно обязательно как новый пользователь по этой ссылке!

Как зарегистрироваться у вас на сайте, чтобы скачать прошивку для программатора Chipstar-Janus? Программатор собирал сам, а при регистрацииции просят серийный номер и дату.

На странице с описанием программатора Chipstar-Janus об этом написано: зарегистрироваться нужно обязательно как новый пользователь по этой ссылке!

В первой части статьи я предоставил схему, прошивку программатора, софт и кратко описал принцип их работы. На тот момент программатор имел не очень впечатляющий функционал и перечень программируемых устройств, возможно поэтому, не вызвал особого интереса. Но проект ещё развивается и я стараюсь добавлять новый функционал, исправлять ошибки, вносить улучшения. Все изменения вносятся исключительно программным путём и добавлением новых съёмных переходников. В этой части статьи я опишу, поддержку каких новых микросхем я добавил, как с ними работать и как их подключать к программатору. В текущей версии софта добавлена поддержка SPI Flash 25-й серии и микроконтроллеров AVR в режиме высоковольтного программирования.

Начну, пожалуй, с более сложного - AVR. Все, кто работал с этими микроконтроллерами, наверняка знают, что такое Fuse биты, и что бывает, если их запрограммировать неверно - можно получить практически окирпиченную микросхему, которая в лучшем случае перестанет программироваться обычным ISP-программатором. Для исправления данной проблемы (и не только) у микроконтроллеров AVR существует ещё один режим программирования - высоковольтный (HVP - параллельный и последовательный). В одной из статей в сети автор называл HVP - режимом Бога. В этом режиме можно практически всё: читать/стирать любые Fuse биты, читать/писать калибровку RC-генератора, читать/писать/стирать Flash,EEPROM независимо от установленных Fuse битов.

Протокол параллельного программирования у AVR стандартизированн практически для всех моделей AVR8, но есть исключения. Например: основная масса микроконтроллёров имеет восьмибитную шину данных и девять управляющих сигналов. У микроконтроллеров Attiny2313 и подобным в 20-выводном корпусе несколько управляющих сигналов объединены (XA1 и BS2, BS1 и PAGEL). Микроконтроллер Atmega2560 и другие с 256Кб памяти имеют трёхбитную адресацию Flash, в отличие от двухбитной в остальных моделях. Микроконтроллеры Attiny в восьминогих, шестнадцатиногих корпусах вообще программируются по последовательному высоковольтному протоколу. Всё это разнообразие я попытался учесть при разработке ПО и микропрограммы программатора. И, естественно, опробовал на нескольких моделях микроконтроллеров.

Интерфейс ПО претерпел небольшие изменения. Для работы с новыми устройствами были добавлены новые вкладки:

В случае работы с AVR - одноимённая вкладка. Как видите, на этой вкладке есть своё окошко выбора модели AVR, кнопки работы с памятью, окна просмотра данных Flash и EEPROM, отдельные кнопки для загрузки прошивки и EEPROM. При этом все кнопки в правой боковой части окна также активны, и их нежелательно нажимать во время работы с AVR. Возможно, позже перенесу их на первую вкладку, чтобы не мозолили глаза.

Хотя микроконтроллеры AVR работают при напряжении до 5 Вольт, я советую их программировать на 3,3 Вольтах, так как при высоковольтном программировании они могут нагреваться при операциях чтения/записи Flash (у меня грелась Atmega8 и Attiny в восьминогих корпусах). А на пониженном напряжении питания нагрев незначительный, а функциональность не изменяется. Для этого необходимо переставить джампер S1 ("Switch V_Prog") на плате программатора в положение 3v3.

Все микроконтроллеры AVR подключаются к основному 32-пиновому разъёму программатора. Схемы подключения разных видов МК на представленном ниже изображении:

Все сигнальные линии микроконтроллеров можно найти в Datasheet на соответствующую модель в разделе "Memory programming". Как видно из схемы, микроконтроллеры Atmega/Attiny с полным набором сигналов управления подключены к питанию (VCC) напрямую, а остальные - через ключ на pnp транзисторе. Этот ключ используется для предотвращения нагрева МК во время простоя, а также для правильного алгоритма входа в режим программирования. Но, думаю, без него тоже должно работать (я не пробовал). Мои платы переходников для некоторых МК в DIP корпусах в формате SprintLayout будут в папке с программой. Там же будет и данная схема.

Список моделей AVR изначально в программе небольшой. Но его можно увеличивать самостоятельно. Для этого в корневом каталоге с программатором есть папка "Devices". В ней находятся xml файлы с соответствующими названиями. Открываем файл с названием "AVR.xml" с помощью обычного блокнота и видим там список однотипных структур:

name model = "attiny85" >

page_size >32 page_size >

page_count >128 page_count >

ee_size >512 ee_size >

ee_psize >4 ee_psize >

dev_type >3 dev_type >

l_fuse >63 l_fuse >

h_fuse >DF h_fuse >

e_fuse >FF e_fuse >

l_bits >FF l_bits >

id >1E930B id >

name model = "atmega128" >

page_size >128 page_size >

page_count >512 page_count >

ee_size >4096 ee_size >

ee_psize >8 ee_psize >

dev_type >0 dev_type >

l_fuse >C1 l_fuse >

h_fuse >99 h_fuse >

e_fuse >FD e_fuse >

l_bits >FF l_bits >

id >1E9702 id >

Так вот, для добавления новой модели - копируете любую из структур от тега до тега включительно и вставляете в документ в любом месте между структурами либо в начале или конце. От этого будет зависеть только очерёдность отображения списка в программе. Далее редактируете структуру. Для этого необходимо скачать datasheet на соответствующую модель МК. В первом теге (name) просто вводите название модели AVR (произвольно). Теги "page_size", "page_count" соответственно размер страницы (в словах 2 байта) и количество страниц flash соответственно. Теги "ee_size" и "ee_psize" размер EEPROM в байтах и размер страницы EEPROM, тег "id' это три байта сигнатуры модели МК - все эти данные можно узнать из datasheet в разделе "Memory programming". Тег "dev_type" - это тип устройства: 0 - МК с полным набором управляющих сигналов (это большинство моделей в корпусах от 28 pin), 1 - МК с объединёнными сигналами управления (такие как attiny2313), 2 - МК с Flash 256Кб (Atmega256X), 3 - МК с интерфейсом последовательного высоковольтного программирования (Attiny13/25/45/85/44/84 и др). Дефолтные Fuse биты в шестнадцатиричном формате ("l_fuse","h_fuse","e_fuse") можно найти в любом онлайн калькуляторе фьюзов AVR (например, avr fuse calculator ). Тег "l_bits" - это lock биты - всегда "FF", то есть не запрограммированы (кстати, чтобы сбросить lock биты, нужно стереть МК, простой записью они не сбрасываются - защита от копирования прошивки, всё-таки!). Всё, после добавления такой структуры, сохранения файла и перезагрузки программы, вы увидите в списке новую модель (модели) МК AVR. К сожалению протестировать все модели я не могу, так как их очень много, но большинство распространённых моделей должны работать.

Из имеющихся у меня камней я протестировал Atmega8, Atmega16, Atmega32, Attiny2313, Attiny13a, Attiny45. На них же есть схемы переходников. Позже проверю работу с Atmega128a и Atmega2560 (просто на них я не делал переходники, подключу на проводах и отпишусь в комментариях).

Об AVR - всё. Теперь опишу, как работать со SPI Flash 25-й серии. Для данных микросхем памяти также есть соответствующая отдельная вкладка в программе:

Работа со Spi Flash в данной вкладке аналогична таковой во вкладке AVR. Поясню лишь, что означают окошки Sreg1 и Sreg2. У Spi Flash 25-й серии есть два Status-регистра, в которых есть флаги состояний и биты защиты. В некоторых б/у микросхемах, особенно выпаянных из материнских плат, могут быть установлены биты защиты от записи верхних блоков памяти (например для предотвращения порчи bootloader). Такие флешки будут читаться правильно, а при записи или стирании верхние блоки памяти изменяться не будут. Чтобы снять такую защиту необходимо записать нули в регистры Sreg (чаще - в Sreg2). Для этого можно написать по два нуля в соответствующие окошки и нажать кнопку "Write SR". Биты будут сброшены. После этого для корректной работы надо отключить питание от флешки и снова включить. Если флешку планируется вернуть после записи, например, в материнскую плату, то надо будет установить биты защиты обратно. Для этого их надо предварительно прочитать и запомнить (или записать на листик), затем стереть биты защиты, стереть/записать флешку и записать биты защиты обратно кнопкой "Write SR".

Spi Flash подключаются к восьми-контактному разъёму на плате программатора (XS4 на схеме). Схема подключения следующая:

SPI Flash XS4
CS -> CS
DI -> MOSI
DO -> MISO
CLK -> SCK
WP -> VCC
HOLD -> VPP

Положение джамперов на плате программатора не имеет никакого значения, так как на этот разъём напрямую выведены сигналы SPI2 от STM32 и его питание в 3.3 Вольта.

В случае со Spi Flash также возможно добавление новых моделей. Аналогичный AVR xml-файл под названием "25XXX.xml" хранится также в папке "Devices" и имеет сходную структуру:

name model = "W25Q80" >
page_size >256 page_size >
page_count >4096 page_count >
f_size >1048576 f_size >
id >EF4014 id >
name >

В данном случае, тег "page_size" это размер страницы памяти Spi Flash в байтах (чаще всего 256 байт), "f_size" - объём памяти всей флешки в байтах, "id" - три байта сигнатуры чипа (первый байт - код производителя, второй - модель, третий - объём памяти), "page_count" - количество страниц памяти (можно получить делением объёма флешки на размер страницы в байтах). Все данные можно найти в datasheet на соответствующую модель чипа. ID - можно прочитать программатором и затем вписать в xml файл, работоспособность от этого не изменится.

В случае со Spi Flash микросхемами скорость чтения/записи не слишком большая. Флешка на 1 Мегабайт (например W25Q80) читается приблизительно 1-1,5 минуты. А если флешка на 8Мегабайт - можете смело пойти попить чаю, это минут на десять. Но запись обычно проходит без сбоев. Проверял, когда записывал звуковые файлы и картинки. Кстати, программатор позволяет записать практически любой файл соответствующего размера в виде "сырых данных". Кроме hex-файлов, они предварительно конвертируются в массив байт.

Кроме AVR и Spi Flash программатор также поддерживает работу с параллельными Flash и EEPROM, I2C EEPROM, восьмибитными SRAM (смотрите первую часть статьи).

Общие советы по использованию программатора:

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

- При длительных операциях чтения/записи нельзя нажимать никакие кнопки, иначе собьётся цикл чтения или записи и программатор ("железная часть") просто зависнет в ожидании правильного USB пакета. Пока что я еще не реализовал "защиту от дурака". Но у меня уже есть идеи по этому поводу.

PS: проект пока ещё развивается. Память STM32 заполнена приблизительно только на 1/5, поэтому я буду стараться добавлять поддержку новых устройств. В ближайших планах добавить поддержку параллельной Flash с 16-битной шиной данных (mx29lv320), FWH (Pm49FL004) микросхемы bios материнских плат, microwire eeprom. И всё, что будет попадать мне в руки.

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

Доброго времени суток! Вот откопал некий шедевр - программатор Ezoflash. Если кто заинтересуется, смотрите здесь: http://www.ezoflash.com/ezoflash.htm
Коротко расскажу: free проект программатора ИМС памяти с параллельным доступом,схема - "урезанный" до размеров базового блока Willem,оставлено только самое необходимое. ПО - от Виллема.
Дополнительные детали, необходимые для программирования той или иной ИМС находятся на ее адаптере.
Если постоянно приходится работать с двумя - тремя типами микросхем - решение весьма удачное.
В случае необходимости программирования других типов памяти, ничто не мешает изготовить несложный адаптер.
Сайт частично русифицирован, имеется также справочная база по ИМС памяти, вплоть до даташитов (!)
на них. В общем, кому надо, тот разберется. Удачи!



-- Прилагается рисунок: --

Универсальный программатор ISP, сериальной памяти и микроконтроллеров плат TV, ноутбуков, мониторов, микроконтроллеров AVR.

Программатор для памяти SPI, 24, 93, 95 серии и скалеров мониторов и контроллеров. Main плат телевизоров TV . Мультиконтроллеров ноутбуков MIO KB9012QF . Микроконтроллеров AVR, ATMEGA, Attiny, AT90 и серии AT89S.

Программирует MIO KB9012QF.

Поддерживает работу , чтение, запись OTP области. Данная опция, очень нужна для работы с спутниковыми тюнерами и "обучением" их "правильно" работать.

Pin тест при каждой операции с программируемой чипом. Гарантирует, что данные с микросхемы будут считаны правильно, поскольку грязные ноги ис или

плохой контакт, сразу будут выявлены.

Встроен генератор сигнала VGA, HDMI, для проверки мониторов. Кнопка на боковой стенки программатора - перебор-фиксации (стоп-кадр) режима тест сигнал генератора цветных полей, полос, сетка и других изображений. Автономный генератор испытательных видеосигналов.

Данный аппарат больше направлен на работу с мониторами и LCD теле-аппаратурой. Позволяет программировать память и микроконтроллер монитора без открытия , через разъемы VGA, HDMI . Считывает DDC EDID с эпромки монитора без разборки.

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

Эта отличительная особенность, плюс еще много вкусностей, делают это устройство, действительно УНИВЕРСАЛЬНЫМ ПРОГРАММАТОРОМ SPI ICSP.

Скорость работы очень хорошая.

Это можно увидеть на видео примерах: EN25F16 MX25L3205 W25Q32

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

Пользоваться им очень удобно!

Фото "внутриностей" программатора RT809F




Внешний вид RT809F


Некоторые особенности программатора RT809F :

- При подключении к адаптеру приемника IR, считывает RC коды IR пультов.

- Поддерживает Spi flash по 32 Mbytes. Есть возможность добавлять вручную.

- Поддерживает программирование PIC на платах (main) телевизоров по протоколу ICSP( через специальный адаптер, в комплект не входит)

- Поддерживает работу с чипами типа 24S08. Пример - снятие пароля с ноутбука Lenovo (IBM) ThinkPad X200 .

- Поддерживает работу с Main Tv телевизоров. Вот пример: Haier L42R1A, процессор FLI8541, память S25F016A

Особенности:


1) Чтение и запись 8 pin и 16 pin чипов.

2) Читает и программирует в память SPD DDR1/DDR2/DDR3

3) Поддержка работы с 8 pin и 14 pin которые используются в ноутбуках (для хранения пароля) и аккумуляторах 24RF08 6480AR BR9080 9016.

4) Поддержка всех серий 24, IIC EEPROM Memory.Важно! Автоматически определяет модель чипа от 24C01 до 24C16, 25 серии spi
Определяет уровень защиты от записи - 7-й контакт серии 24.

5) Поддержка всех серий 25 и 26 SPI флэш-

памяти, идентификация ис автоматически, емкость до 256Mbit.

6) Поддержка всех серий 93 MircroWire памяти, в том числе японских специальных чипов.

7) есть функция поддержки double bank RTD2120 .Читает и программирует без выпаивания.

8) Чтение и запись DDC-EDID данные ЖК-матриц не разбирая через разъем VGA.

9) Поддержка чтения и записи данных EDID на матрицу ноутбука не разбирая через разъем матрицы.

10) Поддержка Leroy, Ding Branch, Rainbow Star, Triumph, Kang Yue and Wang Jie производителей плат мониторов.
Работает с MCU через VGA порт, не разбирая монитор.

11) Поддержка чтения и записи прошивки платы ЖК-дисплея и ТВ в онлайн режиме и автономном режиме.
Поддержка TPV, Proview, Samsung, LG, ACER, LENOVO, HP, IBM, BENQ, HKC, Hisense, Skyworth, Konka, Changhong, TCL , Haier, Prima
и других крупных брендов, поддерживает NOVATEK, MTK, the MST, Genesis, TSUM, SE, FT, REALTEK the Winbond WELTEND, MySoN,
China and Asia micro and PIXELWORKS chipset, вы можете использовать официальный программное обеспечение ISP или программного
обеспечения сторонних производителей, учитывать целостность функций и простота пользователя в использовании.

12) Поддержка Samsung, Philips, AOC, BENQ, NESO поддерживает серии NT68F63/NT68F632/NT68F633 MCU и WT61P4.
Может читать и сохранять оригинальные прошивки MCU.
Поддерживает SE1059 серии "чтение и запись. Легко решить проблемы экрана balck screen Samsung.

13) Программирование серии WINBOND series MCU’s в онлайн, таких как W78E65P-40.
Работает с MCU M6759,SM5964,SM89516,P89C51RD и TP2804.

14) Поддержка MTK series LCD and DVD program online. Such as MT2389,MT1379,MT8223 и 8226 и т.д.

15) Поддержка SUNPLUS DVD программа онлайн. Такие, как 8202D 8202S, 8202L, 8281 и 8200 и т.д.

16) VGA поддержка в девяти серии спутникового ресивера ; в том числе Guoxin, Haier, China and Asia, NEC ;

17) Есть режим самопроверки программатора, Pin тест,
есть функция обнаружения питания на программируемой плате,
в автономном режиме чтения и записи обнаружения плохого Pin-контакта;

18) имеет скоростной процессор MCU;
По USB интерфейсу, передаются как данные так и питание программатора,
есть антистатические и внутри-портовые меры защиты, для обеспечения надежности программатора.

19) Количество поддерживаемых чипов постоянно добавляются.
Если нужно добавить новую микросхему, вы можете написать в службу поддержки.
24,25,26,93 серии, можно добавлять в ручном режиме.


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

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

scheme_prog

Пофиг что 5 вольт, еще ничего не сгорело ни разу. Но только выпаивать флешки надо из платы, так как другие элементы могут быть не такими устойчивыми))))

prog1

prog2

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

Ничего сложного и главное нет лишних деталей в схеме))) Главное правильные библиотеки — скачать их вместе с прошивкой тут: 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

Александр

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

Читайте также: