реклама на сайте
подробности

 
 
> базовый вопрос о JTAG
romez777
сообщение Sep 16 2008, 09:32
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую.

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

Что я имею в виду: как правило, архитектуры от разных производителей не меняются (очевидно, arm7 будет такой же как у Броадкома, так и у Атмела, ибо это стандарт от ARM Ltd.) -- тогда что мешает один jtag использовать для чипов разных компаний, но одной архитектуры? Очевидно, что какие-то board specific вещи не будет поддерживаться, но как минимум отладка, запись/чтение в/из флеш обязаны, нет ?

Например, JTAG от Атмела в описании упоминает, что"any arm7/arm9 core supported ..."

PS. это мое понимание, возможно неправильное -> просьба направить к истине.
Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Aesthete Animus
сообщение Sep 16 2008, 15:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Разные реализации jtag имеют разную длину внутренних регистров и коды комманд. Стандарт на JTAG не указывает, общего способа, как прошивать/читать устройство. А вообще стоит сравнить описания jtag-а для двух процессоров того же атмела - не исключаю, что даже на этом уровне будут различия.
Go to the top of the page
 
+Quote Post
romez777
сообщение Sep 17 2008, 02:23
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую,

Цитата(Aesthete Animus @ Sep 16 2008, 18:54) *
Разные реализации jtag имеют разную длину внутренних регистров и коды комманд. Стандарт на JTAG не указывает, общего способа, как прошивать/читать устройство.


Так вот в чем дело, теперь понятно почему многие JTAG-производители поддерживают только отпределенные семейства процессоров, например OMAP, Qualcomm MSM и пр.

А почему в стандарте не предусмотрели общий способ чтения/прошивания усттройств - это разве технически невозможно? Ведь вроде как интерфейсы флеш памяти также стандартизованы..
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 17 2008, 07:14
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(romez777 @ Sep 17 2008, 05:23) *
Так вот в чем дело, теперь понятно почему многие JTAG-производители поддерживают только отпределенные семейства процессоров, например OMAP, Qualcomm MSM и пр.
JTAG для ARM четко документирован и является неотъемлемой частью ядра. Поэтому отладчик, рассчитанный на работу, скажем, с ядром ARM7, теретически должен работать с любым процессором на этом ядре (отличия между разными ядрами ARM не изучал, про них не скажу). Некоторые производители кристаллов выпускают отладчики, в которые специально вшито программное ограничение на поддержку только своих кристаллов. Например, Сеггер выпускает для Атмела свой J-Link с прошивкой, позволяющей работать только с атмеловскими камнями. Атмел продает эти отладчики по демпинговой (по сравнению с неурезанной версией) цене, "подсаживая" таким образом пользователей на свою продукцию. Как правило, отладчик обладает кое-какими мозгами, поэтому в большинство отладчиков на эти мозги кроме тупой трансляции JTAG-USB возложены более сложные задачи - например виртуальные точки останова и т.п. И уже это делает отладчики несовместимыми как между собой так и между поддерживаемыми кристаллами. Отсюда такой зоопарк с отладчиками.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 17 2008, 09:00
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Сергей Борщ @ Sep 17 2008, 11:14) *
... И уже это делает отладчики несовместимыми как между собой так и между поддерживаемыми кристаллами. Отсюда такой зоопарк с отладчиками.

Добавлю.
На самом деле, организована банда, под названием Nexus, и именно они и хотят све дело стандартизировать. Вот только один вопрос им осталось решить - а кому это надо. Пользователю надо, а производителю - как видим не очень. Вот они и не торопятся. Правда в некоторых новых 32-х разрядных чипах уже мелькает слово Nexus. Но еще довольно редко....
А в существующих железках закрыто абсолютно все. У Аналога спрашивал о том, как делать сканирование их адаптером. Ответ был такой: "Вы нам заплптили деньги за отладку, вот и пользуйтесь. Но только с нашим оборудованием. Хотите сканировать - заплптите деньги другому - будет Вам сканирование"...
Ксайлинкс и Альтера стоят так же. Стартовый набор на Спартан есть, прошивка через JTAG есть, а вот пользоваться им как портом нельзя... Нет описания драйвера со стороны хоста...
Так что им это точно не надо...

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
romez777
сообщение Sep 17 2008, 12:48
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую,

Цитата
JTAG для ARM четко документирован и является неотъемлемой частью ядра. Поэтому отладчик, рассчитанный на работу, скажем, с ядром ARM7, теретически должен работать с любым процессором на этом ядре (отличия между разными ядрами ARM не изучал, про них не скажу).

Выходит, что можно реализовать отладчик с базовым функционалом в соответствии со стандартом jtag и он _обязан_ работать на всех чипах, основанных на данном семействе ядер. Но добавляя в такие отладчики доп. функции, производители _намеренно_ делают их несовместимыми с другими. Правильно я понимаю?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 17 2008, 13:04
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(romez777 @ Sep 17 2008, 15:48) *
Выходит, что можно реализовать отладчик с базовым функционалом в соответствии со стандартом jtag и он _обязан_ работать на всех чипах, основанных на данном семействе ядер.
Да. Посмотрите на отладчики на основе FT2232 (Amontec JTAGkey, Olimex ARM-USB-Tiny), или тот же Wiggler.
Цитата(romez777 @ Sep 17 2008, 15:48) *
Но добавляя в такие отладчики доп. функции, производители _намеренно_ делают их несовместимыми с другими.
Не совсем. Тем самым они добавляют новые возможности, улучшают функциональность (повышают скорость, например). А несовместимость - только следствие этого, но не первопричина.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 17 2008, 17:17
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



JTAG это всего лишь интерфейс. При программировании внутренней Flash МК он используется в качестве транспорта данных. Чтобы программа на PC, работающая через JTAG с кристаллом, могла ее (Flash-память) запрограммировать, она должна знать: как именно программируется Flash данного конкретного кристалла? Поскольку процедуры IAP даже для одного и того же ядра у разных производителей не стандартизованы, то получается, что программа должна быть адаптирована в т.ч.именно под тот кристалл, который требуется запрограммировать.
Если то же самое на более доступных аналогиях объяснять. То программа на PC это главный менеджер основного склада. JTAG эта фура, которая обеспечивает развозку товара по малым складам. Так вот чтобы перевезти груз с основного склада на малый, главный менеджер должен знать не только адреса этих малых складов, но и внутреннее устройство всех их: где, на какой полке лежит, в каком помещении склада должен лежать товар, какой погрузчик или лифт нужно использовать для перемещения его и какой-именно грузчик внутри каждого малого склада должен перемещать доставленный груз. laughing.gif
Go to the top of the page
 
+Quote Post
gormih
сообщение Sep 19 2008, 06:17
Сообщение #9


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Цитата(Aesthete Animus @ Sep 16 2008, 19:54) *
Разные реализации jtag имеют разную длину внутренних регистров и коды комманд. Стандарт на JTAG не указывает, общего способа, как прошивать/читать устройство. А вообще стоит сравнить описания jtag-а для двух процессоров того же атмела - не исключаю, что даже на этом уровне будут различия.


Стандарт JTAG = IEEE 1149.1



--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.05577 секунд с 7
ELECTRONIX ©2004-2016