Jtag lpt программатор своими руками

Jtag lpt программатор своими руками

В статье собраны ссылки для изготовления программаторов JTAG.

[Программаторы на основе LPT (клоны JTAG Wiggler)]

Эти программаторы просто используют сигналы параллельного порта компьютера (LPT) для управления сигналами интерфейса программирования JTAG. Многие схемы используют AC244 или HC244 в качестве буфера. Говорят, что это работает для напряжения питания отлаживаемой системы 2..6V, хотя я не уверен, что это будет хорошо работать при использовании, например, напряжения питания 3.3V и 5V сигналов, поступающих параллельного порта. На сайте scienceprog.com для схемы рекомендуется использовать 74LVP244 или 74LPT244 для 3.3V, но это не будет работать при напряжении питания 5V. Схемы совместимы с многими программами для ARM JTAG, которые заявляют о совместимости с Wiggler.

jtag wiggler clone site:vsdev.me
JTAG wiggler clone for ARM microcontrollers site:winarm.scienceprog.com
WIGGLER site:bicotech.com

Полностью готовый программатор ARM JTAG доступен на сайте SparkFun или Olimex.

[Olimex ARM-JTAG cable]

Это и есть вся информация для того, чтобы разработать собственный драйвер, но есть уже готовая open source RDI 1.51 совместимая DLL для ARM-JTAG с интерфейсом RDI, которая может быть подсоединена к GDB, Keil, IAR, STD, ADS и другим отладчикам, поддерживающим стандарт RDI.

[USB Based Programmers]

Программаторы USB ARM JTAG будут программировать только с программой OpenOCD [2]. Они работают на основе микросхемы FTDI USB. Драйверы не нужны на Windows и Linux.

Полностью готовый программатор USB можно также купить на Sparkfun или у Olimex. Amontec также продает программаторы USB. Работает на напряжениях до 1.4V, хотя Jtag Tiny работает от 2.8 до 5V.

[HappyJTAG, HappyJTAG2]

Программаторы и отладчики на основе FTDI сейчас кто только не делает. Однако мало кого заботит совместимость с программным обеспечением Attmel, в частности с AVR Studio и AVRProg. В лучшую сторону отличается интересная разработка на основе чипов FTDI FT232R (HappyJTAG [3]) и FT2232D или FT2232H (HappyJTAG2 [4]). Сделана попытка программно эмулировать JTAGICE mkII. К сожалению, разработка закрытая (исходного кода нет), хотя и бесплатная.

В случае HappyJTAG в разработку через одно подключение через USB можно встроить JTAG+UART, а с HappyJTAG2 через USB встраивается JTAG+SPI+UART. Весьма достойное решение, которое позволяет программировать совершенно чистый прибор прямо через USB, не вскрывая его корпуса.

Источник

Jtag lpt программатор своими руками

Итак,тема такова,и затрагивает как тему ПК,так и мобильников.
есть смарт на проце MSM7227 с убитым в ноль бутом (по USB не видится)
собственно,надо пробовать программатором.знакомых с Риффбоксом у меня не нашлось,и поэтому я решил попробовать собрать программатор с нуля на LPT-порт.нашел такую схему:

(понятно,шесть резюков,провода с низким сопротивлением и т.д.-даже я соберу)
Это так называемый Wiggler JTAG,которым прошивают 3G модемы,и в составе он микрухи не имеет.
Уважаемые знатоки:можно ли этим программатором прошить бут в убитый андроид-смарт?или таки мне надо покупать микруху (не могу нигде найти в продаже стандартной системной логики типа 74HC244,SN74HC244N,КР1564АП5,и не знаю,откуда ее выдрать).

собственно,спасибо отписавшимся,жду советов.

Cortex Debug+EMT это 20-и пиновый коннектор со следующими сигналами
SWDIO / TMS,SWDCLK / TCK,SWO / TDO / EXTa / TRACECTL,NC/EXTb/TDI,nRESET,TRACECLK,TRACEDATA[0],TRACEDATA[1],TRACEDATA[2],TRACEDATA[3],VCC,GND,
KEY,GNDDetect,GND/TgtPwr+Cap,GND/TgtPwr+Cap

Как видите, если исключить TRACE*пины, которые для прошивки не нужны, то боюсь, то что вы собрали не сильно поможет.

Читайте также:  Как покрасить под малахит своими руками

А вот схема пинов аппарата,который я восстанавливаю:

Как видим,на первой схеме не хватает RST и RTCK сигналов (SRST можно вывести от LPT через резистор-схема в шапке).
Что,на самом деле ничего не выйдет?

пятак то еще можно восстановить, имея микроскоп и хороший паяльник, а вот с программной частью проблем куда больше, в частности какие куски бутов куда писать, ведь в флеши хранится масса инфы: прошивка, бут, имей, калибровки мощности RF передатчика и т.д.
пы.сы: если бы всё было бы так просто, то никто не стал бы покупать RIFFа за 5-6 килорублей для подъёма таких вот аппаратов и аппаратов с дохлыми флешами (а они в последних недорогих хытысах мрут как мухи по осени)

Сообщение отредактировал tohasadist — 22.06.14, 17:37

Ты не восстановишь этот телефон jtag-ом самодельным.
Нету зарузчика под MSM7227. А уж тем более нету фулла ZTE Blade для фри программ jtag.
Есть только фришная прога для восстановления модемов.

Я сам этой темой интересовался.
Телефоны делал через RIFF Box.

Сообщение отредактировал -danger- — 25.04.15, 15:08

Источник

Прошивка через JTAG: схема, распиновка, инструкция

Открываем для тебя дивный мир флеш-памяти

Содержание:

Ingredients

Directions

Что касается спутников ресиверов, то JTAG дает возможность перепрошить микросхему flash-памяти, если нет возможность прошить ресивер стандартным способом, через кабель к компьютеру. Сегодня мы разберем прошивку через JTAG-интерфейс на примере спутникового ресивера Globo X90 для его восстановления. Ранее мы уже научились прошивать его через кабель (см. предыдущую часть)

Зачем нужен JTAG

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

Минусом является тот факт, что интерфейс JTAG, в большинстве своём, на всех ресиверах разный — единый стандарт существует, но каждый производитель его модифицирует по-своему. Globo X90 работает на процессоре ALI 3329С .

Прошивка через JTAG куда сложней обычной процедуры, поэтому к ней прибегают только в самом крайнем случае, когда ресивер совсем не подаёт признаков жизни: не загружается, не горит индикация, прошили другой прошивкой, либо после прошивки у вас только черный экран

JTAG прошивка по шагам

1. Собрать интерфейс (переходник) от порта ресивера к порту ПК

Собрать адаптер для JTAG не так сложно, как кажется на первый взгляд. Для Globo X90, да и вообще для всех ресиверов, предпочтительным вариантом сборки является вариант на микросхеме 74HC244N (её еще называют даташит). Распиновка JTAG:

Так выглядит собранная схема:

Со стороны ресивера это будет специальный разъём, он иногда даже так и подписан — JTAG

Второй «конец», который уходит в сторону ПК — это обычный LPT-кабель, который можно купить в любом компьютерном магазине. О том, как можно собрать всё это хозяйство:

2 . Найти LPT-порт на ПК

Параллельный порт на компьютере сейчас можно увидеть только в музее, поэтому можно докупить специальный LPT-PCI контроллер , который позволяет подключить ваш JTAG к системному блоку ПК, у которого нет LPT порта (а это будет в 99,9% случаев).

3. Скачать программу для прошивки

Для реанимации ресиверов Globo и всех их клонов, а так же для Евросатов/Евроскаев потребуется специальный программатор. Что касается программного обеспечения, то на данных процессорах используется программа EJTAG_TT_1.0.6.17 (Я.Диск)

4. Установить драйвер, если у вас Windows XP

Если вы используете Windows XP, то необходимо установить драйвер giveio.sys (Я.Диск). Скопируйте файл драйвера GIVEIO.sys в папку C:\Windows\system32\drivers\ если, конечно, система у Вас установлена на диск С: и Вы не меняли пути установки Windows. Запустите файл install.reg.

5. Скачиваем прошивку

  1. Только загрузчик (лоадер) — файл с расширением .bin. это та часть содержимого флэш ресивера, которая обеспечивает загрузку в него ПО(софта) через порт. Если мы имеем случай, когда нам для заливки нужен только загрузчик(лоадер) ресивера, то поступаем одним из двух способов – или скачиваем готовый файл с загрузчиком, или делаем его самостоятельно. Для этого в HEX-редакторе отрезаем от файла ПО первые 65536 байт и сохраняем как отдельный файл *.bin. Это и есть загрузчик.
  2. Полный дамп . Дамп для JTAG, в случае, с ресиверами Globo — это обычный дамп, который используется для прошивки. Единственное, необходимо будет сменить расширение файла с *.abs на *.bin

6. Переводим ресивер в отладочный режим

Для прошивки также потребуется перевод ресивера в режим отладки, он же Debug Mode. Способы его перевода зависят от конкретной модели приставки, конкретно для Globo X90 cсоединить (замкнуть) перемычкой предназначенные для этого контактные площадки на плате, где стоит обозначение JP1 . Так же бывает, что надписи JP1 на ресивере нет, тогда нужно выпаять резистор R32

Обратите внимание на точки подключения. Они должны совпадать с тем, как вы собрали переходник. В некоторых Globo-ресиверах бывает обратная последовательность — не перепутайте. На некоторых ресиверах можно сделать обычную перемычку для перевода в отладочный режим

Можно использовать перемычку с IDE-винчестеров

Так это будет выглядеть:

7. Настраиваем EJTAG и прошиваем

Настройки в нашей JTAG tool выставляем так же как на скриншоте:

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

В некоторых мануалах пишут, что предварительно нужно стирать флеш — делать этого не стоит, ни поблочно, ни полностью, перед записью программа сама сотрёт столько памяти, сколько ей надо записать, она умеет это делать. Далее жмём «коннект» . В окне программы должен побежать текст лога.

Если после нажатия кнопки «коннект», у вас выходит ошибка «флэш ID нету в *.ini –файле», то попробуйте поменять настройки в программе, как и советовали выше, нужно попробовать все вариации галочек и точек в настройках. Если и это не приведет к успеху, то тут стоит насторожиться — проверить питание процессора, напряжение с БП — есть вероятность того, что флеш-память уже «умерла», тогда никакой JTAG уже не поможет. Следующим шагом жмём «Записать» и в окне проводника выбираем нужный файл с дампом или загрузчиком (лоадером)

[adace-ad >

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

Здесь есть небольшой нюанс — достаточно залить около 50-70% прошивки через JTAG (желательно, конечно, полностью), но если у вас оборвалась прошивка на этом этапе, то можно попробовать прошивать стандартно (через порт), т.к. дальше уже идут списки каналов, спутники и так далее, т.е. то, что вы зальете и обычный прошивкой.

8. Убираем перемычку, отключаем Debug Mode

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

Ручной поиск транспондера у спутника

Если вы заливаете «голую» прошивку, то есть необходимость вбить вручную нужные вам транспондеры. У некоторых ресиверов есть функция ручного ввода транспондеров. Для этого

  1. Нажмите «Меню» на пульте
  2. Далее выберите «Установка»
  3. Следующий пункт «Настройка антенны и поиск каналов»
  4. Нажмите желтую кнопку на пульте (PVR) и попадаете в режим редактирования транспондеров.

Источник

Универсальный USB программатор

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

Основой программатора является микросхема FT2232D. Представляет она собой преобразователь USB в два порта UART. Особенность заключается в том, что «верхний» канал А может работать в режимах JTAG, SPI и I 2 C, что и требуется для программирования микроконтроллеров, различных микросхем памяти и т.п.

Разработка данного USB-программатора ведется на компьютере с использованием библиотек от фирмы FTDI Chip.

Питается устройство от интерфейса USB. При правильной сборке схема не нуждается в настройке. Функционирование устройства зависит от мастерства разработчика ПО. Резисторы R8, R9, R12, R13, R14, R15, R16 являются токоограничивающими при неправильном соединении с устройством, соответственно, выводы программируемого устройства не должны соединяться с другими элементами в схеме, или иметь такие подтяжки, которые при образовании делителей напряжения не искажали бы логические уровни. Микросхема U1 используется для сохранения пользовательских настроек.

Выводы U2 (канал А):
24 — ADBUS0 – выход- в режиме JTAG TCK, в режиме SPI SK;
23 — ADBUS1 – выход- в режиме JTAG TDI, в режиме SPI DO;
22 — ADBUS2 – вход- в режиме JTAG TDO, в режиме SPI DI;
21 — ADBUS3 – выход- в режиме JTAG TMS, в режиме SPI как вспомогательный сигнал(CS);
20 — ADBUS4 – в режиме JTAG вход\выход, в режиме SPI вспомогательный выход. Этот вывод используется для подачи сигнала RESET в микроконтроллер;
15 — AСBUS0 – свободно программируемый вход\выход во всех режимах (опционно используется для подачи питания в программируемое устройство);
13 — AСBUS1 – свободно программируемый вход\выход во всех режимах.

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

Канал В используется для отладки программируемого устройства. Для этого нужно только иметь незадействованный порт UART в микроконтроллере. Далее дело техники. В программе микроконтроллера в нужных местах используем функцию форматированного вывода printf().

40 —BDBUS0 – выход- в режиме UART TXD;
39 —BDBUS1 – вход- в режиме UART RXD;
28 — BСBUS2 – выход- в режиме UART LED-индикатор (зажигается при передаче данных через USB);
27 — BСBUS3 – выход- в режиме UART LED-индикатор (зажигается при приеме данных через USB).

Ниже приведена печатная плата программатора

На сегодняшний день данный универсальный программатор поддерживает микроконтроллеры AVR по интерфейсам JTAG и SPI. Причем скорость прошивки Atmega64 по JTAG не более 5-и секунд, по SPI не более 8-ми секунд. Принципиально, прошивать можно любые микроконтроллеры, к которым распространяется спецификация для программатора. В настоящий момент, например, ведется разработка для поддержки микроконтроллеров NEC.

Рабочая форма поделена на две части: слева таблицы для работы с FLASH (сверху) и EEPROM (снизу), сюда можно открывать файлы или загружать прошивки из микроконтроллера, делать верификацию, править содержимое ячеек памяти; справа текстовое поле для отладки, сюда выводятся данные с канала В, также можно там вводить текст, который отправится в порт (функционально это аналог HyperTerminal). Разработка ведется на платформе Visual C# под Windows. Также есть возможность разрабатывать на других языках. Программатор может работать и под Linux.

Используемая литература:
1. А.В. Евстигнеев «Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL», М. Издательский дом «Додэка-ХХI», 2005.
2. Future Technology Devices International Ltd. “FT2232D Dual USB UART/FIFO I.C.” , Datasheet, 2006.
3. Future Technology Devices International Ltd. “Software Application Development D2XX Programmer’s Guide” , Document, 2009.
4. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCJTAG DLL” , Application note AN_110, 2009.
5. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCSPI DLL” , Application note AN_111, 2009.
6. Эндрю Троелсен «С# и платформа .NET» М.,С-П. Питер, 2007.

Скачать исходники ПО и печатную плату в формате P-CAD вы можете ниже

Борисов Алексей (Albor) г.Сызрань, Самарская обл.

Источник

Читайте также:  Гальваническое покрытие медью своими руками
Оцените статью