Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Jtag Ice mkII
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
fate
А вот и описание протокола

AVR067: JTAGICE mkII Communication Protocol
PraNkiSh
да, процессоры растут и множатся =)
а в чем отличие от предыдущего jtag функционально ?
m16
Функционально эта CENSORED работает по протоколу debugWIRE и позволяет юзать некоторые модели MEGи и Tiny по одному проводу!!!!!!!!!!!!!!!!!!!!!!
через вывод reset (у jtag ice - 4 проводка+GND разумеется)
Valery_Y
Тенденция такова, что все новые чипы поддерживаются только JTAGICE mkII.
Даже те, что без debugWIRE, и в принципе, ничего не мешает добавить их в 1-й JTAGICE. Однако, этого не происходит.

Вот что пишут в хэлпе АВРстудии 4.10 :
Supported Devices.
Currently the JTAGICE supports the following devices:

ATmega16(L), ATmega162(L), ATmega169(L or V), ATmega32(L), ATmega323(L), ATmega64(L), ATmega128(L).

Может, ещё что добавили, давненько её не обновлял.
JTAGICE по-сути для них умер, морально устарел, к томуже взломан. То, что они защитили JTAGICE mkII от "подделки" говорит о том, что продажу средств отладки они рассматривают как серьезный бизнес, иначе не стоило так заморачиваться.
alecsvg
Недавно перешел c ZILOG ENCORE на ATMEGA.
Работал c ATMEGA16 через самодельный JTAG,
а сейчас срочно заказали фигню на ATMEGA 8.
Без отладки по шагам не написать.
Как,вообще, отлаживают их?

Буду делать из ATMEGA16 DIP40
ATMEGA 8 DIP28 узкий.(И при этом нет разъемов для наколки
на FRC кабель.)
Ну хоть на будующие посоветуйте!

В Zilog ENCORE нет таких проблем, все отлаживается через 1
ножку, с помошью платы в 30$(или ококло этого).
В Zilog Studio есть симулятор с встроенным С, время выполнения
можно померять. Жаль,что в Минске их трудно купить.
nameless
Цитата(alecsvg @ Apr 9 2005, 06:54)
Недавно перешел c ZILOG ENCORE на ATMEGA.
Работал c ATMEGA16 через самодельный JTAG,
а сейчас срочно заказали фигню на ATMEGA 8.
Без отладки по шагам не написать.
Как,вообще, отлаживают их?

Буду делать из ATMEGA16 DIP40
ATMEGA 8 DIP28 узкий.(И при этом нет разъемов для наколки
на FRC кабель.)
Ну хоть на будующие посоветуйте!

В Zilog ENCORE нет таких проблем, все отлаживается через 1
ножку, с помошью платы в 30$(или ококло этого).
В Zilog Studio есть симулятор с встроенным С, время выполнения
можно померять. Жаль,что в Минске их трудно купить.
*


Если без JTAG (Mega8) - то симулятор, или программный монитор какой-нибудь (этого добра хватает, посмотрите на www.micrium.com например)
...я пошел по пути писАния своего "монитора" см. AVR244 AppNote + HyperTerminal
Благо Flash терпит... пишем-проверяем-пишем-проверяем...
Пусть специалисты меня поправят...
IgorKossak
Цитата(alecsvg @ Apr 9 2005, 06:54)
... ATMEGA 8.
Без отладки по шагам не написать.
Как,вообще, отлаживают их?
...
*

Достаточно мощный симулятор для ATmega8 и прочих непосредственно в AVR Studio от Atmel. Скачивается бесплатно с их сайта здесь.
Правда качать придётся много, но это того стОит.
Pat
Цитата(fate @ Mar 6 2005, 01:36)
А вот и описание протокола

AVR067: JTAGICE mkII Communication Protocol
*


Подыму ка тему уж страсть как интересно.

Это для чего же там аж две Atmega128 стоят?
А что еще кроме отладки по одному проводу этот девайс может?
m16
Supported Devices
The JTAGICE mkII supports both the JTAG interface and the debugWIRE interface.
Currently the JTAGICE mkII supports the following devices:

Device Interface
ATmega1280 JTAG
ATmega640 JTAG
ATmega1281 JTAG
ATmega644 JTAG
ATmega2560 JTAG
ATmega2561 JTAG
ATmega128 JTAG*
AT90CAN128 JTAG
ATmega64 JTAG
Atmega6490 JTAG
Atmega649 JTAG
Atmega6450 JTAG
Atmega645 JTAG
ATmega406 JTAG
ATmega32 JTAG
ATmega3290 JTAG
ATmega329 JTAG
ATmega3250 JTAG
ATmega325 JTAG
ATmega16 JTAG
ATmega162 JTAG
ATmega169 JTAG
ATmega168 debugWire
ATmega165 JTAG
ATmega88 debugWIRE
ATmega48 debugWIRE
ATtiny45 debugWIRE
ATtiny24 debugWIRE
ATtiny2313 debugWIRE
ATtiny13 debugWIRE
AT90PWM3 debugWIRE
AT90PWM2 debugWIRE
*Note that ATmega128 has no support for the BREAK

вот че может (студия 4.12) . зачем две меги - у атмеля надо спросить. вещица очень даже , но дороговата.
Pat
Цитата(m16 @ Oct 21 2005, 16:27)
Supported Devices
вот че может (студия 4.12) . зачем две меги - у атмеля надо спросить. вещица очень даже , но дороговата.
*

Да в том и дело что дорогая.
У них и первый JTAG ICE тоже был не из дешовых.
А схема на mkII еще нигде не пролетала?
Pat
Дока на протокол между AVR Studio и JTAG ICE mkII есть.
А где взять описание протокола обмена самого debugWire?
undi
Приобрел эту штуковину. AVR Studio 4 вроде работает, а вот CrossStudio AVR1.2 посылает, требуя обновить фирмваре до версии 0x0400, 0x402. Но как это сделать? Не могу найти никакой информации. Может есть у кого опыт?
Rash
Цитата(undi @ Nov 1 2005, 18:19)
Приобрел эту штуковину. AVR Studio 4 вроде работает, а вот CrossStudio AVR1.2 посылает, требуя обновить фирмваре до версии 0x0400, 0x402. Но как это сделать? Не могу найти никакой информации. Может есть у кого опыт?
*


Попропуй обнофить фирмваре последней версией AVRStudio. Она это делает сама.
undi
Я так и подумал, только 50 мегов тащить не очень хочется.
IgorKossak
Цитата(undi @ Nov 2 2005, 12:34)
Я так и подумал, только 50 мегов тащить не очень хочется.
*

Может это поможет?
undi
К сожалению, не помогло. Прошивает, но чем - непонятно.
undi
Начал я эту штуку к ATtiny2313 приделывать. АВРстудио 4.10 нифига fuses править не дает, говорит, что мой девайс не поддерживает JTAGmode. Ладно, скачал 4.12 - последнюю. Вроде, пока DebugWire еще не активирована fuses прочитывает, всякие там напряжения на таргет видит и т.п. Но пробую хоть один fuse поменять обламывает и все, ошибку пишет. Если попробовать отладку запустить, предлагает поставить бит включения DebugWire, соглашаюсь, ставит, отлаживает, все ОК. Но полсе того как DebugWire включит, fuses даже считать не дает - заявляет ошибку. Как обратно на ISP перейти не понятно, даташиты не сходятся. Как fuses менять? Или толко в программаторе? А если мне их тысячу надо, да еще и в SOIC?

То ли я чего не понимаю, то ли стереотипы после ARM менять надо. Пока единственное ощущение от потраченых 330$ - ощущение боли в заднем проходе... w00t.gif

Может кто подскажет чего?
m16
Открываем хелп AVRSTUDIO 4.12 On-Chip Debugging with the JTAGICE mkII

Re-enabling the ISP Interface
By following the description below, the ISP Interface is re-enabled.

1.Connect the JTAGICE mkII to the target with ISP (6-pin connection) using the squid-cable as described above.
2.Open "JTAGICE mkII Options" found under the Debug-pulldown menu in AVR Studio and select the "Connections" tab.
3.Click on the button "disable DebugWIRE" as shown in the figure below.
4. When the box below appears, click "YES" in order to disable the debugWIRE Interface and enable the SPI Interface.

Note

It's not possible to use the debugWIRE Interface if the lockbits on the target AVR are programmed. Always be sure that the lockbits are cleared before programming the DWEN fuse and never set the lockbits while the DWEN fuse is programmed. If both the debugWIRE enable fuse (DWEN) and lockbits are set, one can use High Voltage Programming to do a chip erase, hence clear the lockbits. When the lockbits are cleared the debugWIRE Interface will be re-enabled.
Connecting through ISP
If the JTAGEN fuse (JTAG Enable) in the target device is un-programmed, the JTAG Interface will be disabled. This fuse cannot be programmed through the JTAG Interface and must therefore be programmed through e.g. the ISP Interface. This can be done from the JTAGICE mkII by connecting to the AVR device as described in the table below using the squid cable that comes with the JTAGICE mkII.


фузы имхо можно править только в ISP режиме через JTAG to ISP interface cable

JTAGICE mkII probe Target pins Squid Cable Colours STK500 ISP pinout

Pin 1 (TCK)___________SCK___________ Black____________ 3
Pin 2 (GND)__________ GND_-_________ White____________ 6
Pin 3 (TDO)___________ MISO_________ Grey_____________ 1
Pin 4 (VTref)__________ VTref__________ Purple____________ 2
Pin 6 (nSRST)_________ RESET____________ Green__________ 5
Pin 9 (TDI)____________ MOSI____________ Red_____________ 4

фузы можно шить и через JTAG у контроллеров с JTAG интерфейсом (мега16,32,64,128, итд)
undi
Прблема с выполнением пункта 2.
Не могу я найти пункт "JTAGICE mkII Options". А тем более "Connections" tab. sad.gif
IgorKossak
Цитата(undi @ Nov 4 2005, 19:50)
Прблема с выполнением пункта 2.
Не могу я найти пункт "JTAGICE mkII Options". А тем более "Connections" tab. sad.gif
*

На самом деле это звучит так Tools/Program AVR/Connect... и далее интуитивно понятно.
Главное, чтобы всё было включено. wink.gif
undi
Главное, чтобы всё было включено - причина всех моих мучений! Разобрался вроде.
Zond
Интересно, JTAGICE mkII не взломали еще?
IgorKossak
Цитата(Zond @ Nov 30 2005, 09:38) *
Интересно, JTAGICE mkII не взломали еще?

Пока не слышно.
Да и нет надежды, что это произойдёт. Ребята из Atmel хорошо защитились.
volod_ua
Ну неожели никто не может (кто имет его ) схему сресовать и одать братьям поразому....
IgorKossak
Цитата(volod_ua @ Nov 30 2005, 11:25) *
Ну неожели никто не может (кто имет его ) схему сресовать и одать братьям поразому....

Дело не в схеме, а в том что за секретные невзламываемые чипы там стоЯт.
DeXteR
Люди У кого есть JTAG MK2.
Загляните плиз внутрь.

Что за секретные чипы невзламываемые.

Может кто пробывал бутлоадер заставить прошить свой девайс
(ну как это делаеться в JTAG ICE 1) через обновления.

Очень хочется такую штучку.
Думаю если повторить - Спасибо скажет весь мир (исключая конечно фирму Atmel)

smile.gif
volod_ua
Да неверю что за сикретниє чипи в компе не может бить ничего сикретного ето точно....пусть даже они закрили свои чипи ...но всьоровно можна ломать вот как би я ето делала еслиб имел ето чтаг
1. Поставил би прогу которая слушаєт COM or USB а на записиваєт всьо что идет чере етот порт
2. После того как ми имеєм такую прогу и имем протокол обмена....
3.Обновляєм чтаг при влюченой проге тоисть там будет посилаться ета прога(ну для чтага) вот там ми ее поймаєм....
Я слишал что там стоят две Mega128 и DataFlash но сам его не видел не разу
DeXteR
Несовсем правильный подход

Дело в том что там может использоваться DES бутлоадер или ещо какая нибудь штуковина
При этом данные через порт идут закриптированые.
Принимая их мы извлечем из них программу гдето через лет 100 =))

Поэтому нада подставить ему бутлоадер стандартный и попробывать зашить схему.

Полюбому нужна схема энтого JTAGA для того чтоб работать дальше. smile.gif
Andy Great
Поставлю вопрос по-другому: может можно снять прокол DebugWire: там вариантов немного: UART, 1-Wire, Manchester etc. Но для этого надо купить хотя бы лотерейный билет smile.gif
volod_ua
Ну хорошо а что стибзять ето бут не как ведь теоретически авр можна поламать ну пускай там фузи прошити...но их можна ведь поломать
IgorKossak
Тема клонирования JTAG MK2 уже на этом форуме поднималась.
Не будем начинать ещё раз с самого начала.
Поищите по форуму.
Andy Great
Не надо его стибрить, а надо аналог сделать, как МТ-Линк
Proton
Я пробовал вскрывать обновитель дизасемблером, получил такие результаты:
В файле jtagicemk2.dat(ну тот что вместе с программой в каталоге) есть 2 файла прошивки
(Mon_Comm_M*** и Mon_Comm_S*** ) и 1 с информацией о версии. Сам этот файл является контейнером и его содержимое легко извлекается. Файлы прошивки имеют расширение *.а90, но алгоритм для их расшифровки используется точь-в-точь такой-же что и при расшифровки файлов с расширением *.ebn. Однако после дешифровки оказывается что они закодированы ещё чем-то, пока
ещё не разобрался(буду копать дальше после экзаменов - в январе). Далее эта инфа передаётся в устройство блоками по 256 байт + CRC.

P.S. Если кого-то это заинтересовало могу поделиться гораздо более подробной информацией по почте igor0603(@)mail.ru
Turion
Уважаемый Proton важна любая информация об устройстве для криптоанализа прошивки.
Используемые в Jtag II две Mega128 имеют 512 страниц flash как раз по 256 байт (128 слов).
Количество таких блоков - чтобы определить размер Bootloader-а, если нельзя считать фуз-биты
непосредственно с устройства. Первый блок прошивки вначале содержит вполне определенную информащию - вектора прерываний. Повторяющиеся блоки - содержат одинаковый код,а так-же говорят об использовании режима ECB шифрования.
Proton
Turion
Эти файлы прошивки что храняться в OLE контейнере jtagicemkii.dat перед передачей в устройство
предварительно дешифруются криптоалгоритмом BlowFish с ключом 0xB9173D809CCC992D4F306969
однако эти дешифрованые файлы, которые передаются в устройство абсолютно не сжимаются архиватором, что свидетельствует что они ещё чем-то зашифрованы. К тому-же в разных обновлениях
Jtagice mk2 одинаковые по содержанию блоки выглядят абсолютно по-разному что свидетельствует о том, что ключ дешифровки в Jtag'e постоянно меняется. Так что работы ещё очень много.
Pat
Цитата(Proton @ Dec 7 2005, 19:00) *
Turion
ключ дешифровки в Jtag'e постоянно меняется. Так что работы ещё очень много.

Уважаемые, а не проще было бы при помощи реального устройства и цифрового осциллографа
расковырять сам дебаг вайер. Ведь протокол связи с ARVStudio и айс описан у самого Atmel.
arttab
Задам вопрос немного о другом. Что вы хотите - Просто расковырять, расковырять и скопировать, расковырять и создать аналог?
Может я как то не правильно искал или живу очень отдаленно от цивилизазии, но достоваемость некоторых микрух(или аналогов), использованых атмелом, оказалось очень затруднительным (за разумные деньги). Получилось - дешевле купить готовый.
Другу на память не везет - дорогая и только под закаж (типа как Ice2). Он не в первый раз обламывается.
sensor_ua
IMHO, если сам мк2 есть тупой конвертер чего-то по AN067 в DebugWIRE, то сделать аналог получится. Если же он выполняет определенные функциональные блоки по коротким командам сверху, то эта штука не стОит ломания. Меня беспокоит огромное количество памяти в этом девайсе. Конечно она может быть только буфером между USB и более медленным DebugWIRE при прошивке, но бывает всякое;( Однако это может помочь во всём, кроме проверки версии, которая может быть по ключу, соответствующему текущей версии студии (или кого ещё) и ключу от предыдущего апдейта. Т.е. аналог может оказаться востребованным только открытым софтом...
Kovrov
Даже если выудить какая инфа льется для апдейта это ровным счетом ничего не даст
сам кристалл лоченый и апдейт только через бут лоадер
а там сами понимаете полигон для закрутки алгоритма расшифровки
и незная алгоритма дешифровки, а тем более ключа дешифровки пустой номер все это...
вспомните синклеровкие ксорки когда програмееры подпрягали счетчик циклов процессора
и отладчик просто был бесполезен, а здесь к тому ещё и неизвестный алгоритм шифрования
вон взять к примеру атмеловский апнот с дез лоадером - клизма полная если не знаешь ключа....
хотя можно поискть черную кошку в комнате - типа спрогнозировать хотя бы начальные байтики программы по типу известное расположение векторов прерываний подобное - но это скорее всего пальцем в ж...
Kovrov
Ребят, тут сам впросак попал..
ни с того ни с сего наелся мк2...
год назад случилось нечто подобное (было кз на питание), но обошелся малой кровью MAX3379 заменил и ок
а вчера, опять праздник: даже сам непойму почему - просто мк2 не пашет не JTAG ни с SPI
вообщем клизма..
Время реально покапотся пока небыло..
а тут подумал возможно ктонибудь срисовал схему входной части мк2? (я имею ввиду от таргет разъема
на мах 3379 3391 3392)
конечно ничего сложного нет,но время....
если нет придется самому пикать мультиметром...
prottoss
Привет all! Может кто нить посмотреть, сколько у JTAGICEmkII ендпоинтов и какого они типа?
aesok
Цитата(prottoss @ Jun 1 2008, 17:54) *
Привет all! Может кто нить посмотреть, сколько у JTAGICEmkII ендпоинтов и какого они типа?

Код
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0xFF
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x10 (16)
idVendor:           0x03EB (Atmel Corporation)
idProduct:          0x2103
bcdDevice:          0x0200
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x03
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x04
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:     0x82  IN
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x02  OUT
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A
SasaVitebsk
Мой JTAG ICE MKII завис в режиме апгрейда. То есть светодиод который обычно зелёный - горит ораньжевым. При попытке апгрэйда - несколько раз отключает/подключает USB устройство и пишет "нет связи".

Что делать? Есть ли выход из этого состояния? Там внутри есть перемычка - для каких она целей? Или есть какой-то способ привести его в чувство.

Всё горит ясным пламенем. help.gif crying.gif
Angelo
Не помню где, но где то видел, возможно в хелпе на JTAG ICE MKII, там у зависшего отладчика красивой распушенной скрепочкой замыкали пару контактов в разъеме...
SasaVitebsk
Может кто встречал??? Горит тема ясным пламенем. В хэлпе нет ни рожна. Перерыл всё.
sensor_ua
Цитата
Мой JTAG ICE MKII завис в режиме апгрейда. То есть светодиод который обычно зелёный - горит ораньжевым. При попытке апгрэйда - несколько раз отключает/подключает USB устройство и пишет "нет связи".
IMHO, стОит попробовать апгрейдить не через USB, а через RS-232
SasaVitebsk
Цитата(sensor_ua @ Jun 25 2008, 07:45) *
IMHO, стОит попробовать апгрейдить не через USB, а через RS-232

Ч/з RS-232 слава богу заапгрэйдилось и далее уже работает с USB. 07.gif
a14.gif beer.gif tort.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.