|
Насколько нужен ресет при программировании AVR через JTAG?, Точнее daisy chain из двух м640. |
|
|
|
Apr 15 2012, 16:00
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Насколько нужен ресет при программировании AVR через JTAG? Точнее daisy chain из двух м640. Все апноты и ДШ говорят, что не нужен. Что достаточно TMS, TCK, TDI, TDO. Цитата Source Reset (optional) Used to reset the target device. Connecting this pin is recommended since it allows the JTAGICE mkII to hold the target device in a reset state, which can be essential to debugging in certain scenarios - for example if the JTD bit is set by the application firmware, disabling the JTAG interface. The nSRST pin has an internal pullup resistor in the JTAGICE mkII. Цитата Programming through the JTAG interface requires control of the four JTAG specific pins: TCK, TMS, TDI and TDO. Control of the reset and clock pins is not required. Насколько понимаю, ресет нужен только чтобы сбросить девайс в случае зависа или плохого старта. Что при наличии RC на ресете, по моему опыту, исключено. Но даже если такое происходит, можно тупо переткнуть питание (не удобно, конечно, но часто ли мы программируем девайс?). Знатоки JTAG протокола, отзовитесь! Часто ли оный дёргается?
|
|
|
|
|
Apr 15 2012, 16:28
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Это я читал. Там даже где-то написано, что ресет достигается "комбинацией состояний линий TCK, TMS, TDI and TDO", только не могу найти где это было... Возможно, в хелпе студии... Но тут промелькнула мысль, что он нужен для отладки. Не совсем понимаю, зачем (если есть команды), но вдруг? Не хотелось бы налажать в топологии...
|
|
|
|
|
Apr 15 2012, 18:40
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Цитата(prottoss @ Apr 15 2012, 19:46)  нет ни каких комбинаций  есть последовательность бит которая устанавливает внутренний бит RESET и есть комбинация которая его сбрасывает. Я знаю что такое последовательность бит  Но в доке было как раз про "комбинацию". Я тоже удивился. Но не суть, главное что можно. Цитата(ILYAUL @ Apr 15 2012, 20:02)  Отладчик DRAGON , плата с Atmega128 - отключил от платы RESET JTAG . Dragon перестал видеть плату. Это который nSRST? Он её вообще перестал видеть, или только отладка отключилась? Цитата(ILYAUL @ Apr 15 2012, 20:02)  Отладчик DRAGON , плата с Atmega128 - отключил от платы RESET JTAG . Dragon перестал видеть плату. И из под чего вы драгон заводили? Студии?
|
|
|
|
|
Apr 15 2012, 19:12
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Цитата(ILYAUL @ Apr 15 2012, 20:02)  отключил от платы RESET JTAG . Какой именно пин разъёма вы отключали?  Интересуюсь по тому, что есть доступ к дракону и именно его я хотел использовать для отладки на первых порах. Цитата(ArtemKAD @ Apr 15 2012, 22:02)  Аналогично с xMega256A3 с программированием. Reset понадобился ровно с того момента когда я начал в программе отключать JTAG и штатно использовать ноги которые отведены под программирование/отладку. И это не блокирование ног программатора - все четыре ноги там высокоомные (несколько кОм) входы АЦП. Стоп стоп стоп... Вы, господа, меня окончательно запутали. Повторю условия задачи. Имею два МК atmega640 соединённых в гирлянду:  Ноги JTAG интерфейса ни к чему более не идут - только чипы и разъём. Отключать их программно не планирую (тем более что в меге, насколько знаю, из программы их и не отключишь). Программировать планирую сначала драконом, тем более что он ещё и отладчик, потом - годзилой, если там появится поддержка гирлянд. Нужен ли мне ресет? Если да, то к какому пину разъёма подключать? nSRST или nTRST?
|
|
|
|
|
Apr 16 2012, 09:56
|

Знающий
   
Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950

|
Если у микросхемы есть вход TRST, его надо заводить на разьем житага и пуллапить. Если такого входа нет, значит на разъеме TRST можно бросить.
Немного информации: TRST является сбросом машины состояний jtag. Внутри он обычно связан с блоком power_on_reset (который, подразумевается, есть в каждой микросхеме), а также может управляться извне (если есть соотв. вывод), или же сбрасываться по инструкции (используются входы TDI,TMS,TCK). Последнее время этот вывод на корпусах отсутствует, видимо из-за экономии. Но лично я сталкивался как минимум с одним случаем, когда он был нужен: некий интелловский процессор при заморозке ниже -50С переставал стартовать. Как я выяснил в ходе исследований, у процессора начинала сбоить машина состояний житага при включении питания, после чего проц переводил все IO в тристейт. Но после "вздрючки" по житагу процессор работал отлично, до следующего выключения питания. По счастью, на плате имелся внешний монитор питания. Завел от него сброс на TRST процессора, и плата начала стартовать и работать вплоть до -85С.
|
|
|
|
|
Apr 16 2012, 14:15
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Цитата(Shivers @ Apr 16 2012, 12:56)  Если такого входа нет, значит на разъеме TRST можно бросить. Вот этой фразы вообще не понял У атмеги есть только RESET. Других ресетов не замечал. Судя по разъёму драгона, к nSRST его надо. Цитата(ILYAUL @ Apr 16 2012, 12:49)  У драгона один RST. А с какой стороны ключ у разъёма драгона можете глянуть? А то на плате контур разъёма нарисован будет, не хочется перепутать.
|
|
|
|
|
Apr 16 2012, 19:18
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Dikoy @ Apr 16 2012, 21:42)  ну, тут ключа не нарисовано... Полагаю, что он со стороны первого вывода, но видел вариации на эту тему... Когда кабель надевается, в какую сторону смотрит ключ у вас? В сторону дырочкофф? Справой стороны разъёма JTAG есть цифры 1 JTAG 9 . В таком случае 1 - означает первый контакт разъёма JTAG/ Далее в строгом соответствии с приведёнными выше контактами (фото) можно расчитать какой контакт разъема чему соответствует. Обычно никто этим не заморачивается. Достаточно на Вашей плате соединить контакты разъёма JTAG в соответствии с фото из поста 13 с ножками MCU и с соединить оба устройства шлейфом соблюдая соответствие контакта 1
Эскизы прикрепленных изображений
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Apr 16 2012, 22:37
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Цитата(ILYAUL @ Apr 16 2012, 22:18)  Справой стороны разъёма JTAG есть цифры 1 JTAG 9 . Ещё раз. Ключ штекера (наплыв, пупырка и т.д.) со стороны 1-9 вывода при установке, или нет?  Понимаю, вопрос глупый и метка 1 вывода всегда на стороне ключа у IDC, но не раз встречал платы с разъёмом наоборот. от того и спрашиваю. На вашем фото не видно ключей ни одного штекера. У меня же условие - все разъёмы на плате под ключ, чтоб штекер наоборот нельзя было вставить.  А ноги считатья умею
Сообщение отредактировал Dikoy - Apr 16 2012, 22:43
|
|
|
|
|
Apr 18 2012, 19:14
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Цитата(IgorKossak @ Apr 18 2012, 10:31)  На будущее. На будущее. Я три раза объяснил причину своего вопроса про ключ. Если вы так свято верите в стандарты - поздравляю, розовый мир даётся не всем... Когда я работал в Германии, приходилось видеть и зеркальные ISP, и JTAG с разводкой "как удобней" и всё это в продукции именитых производителей и со стандартной маркировкой. У меня был целый пучок переходников на такие разъёмы. Если у драгона горит ИБП, почему не может быть перепутана разводка жтага или его маркировка? В первых программаторах, времён S1200, у них ресет был к земле притянут. Вместе с подтяжкой на плате создавались чудеса. Потом пофиксили, но я из такого программатора резюк выпаивал, да... Китайские клоны STK-500 имели баг в ISP-6, при этом внешне не отличались от фирменных. Баг смешной - всего то земля с питанием перепутана. Открытие стоило трёх плат - две спалил техник, одну я. Так что, сеньор, если вы не понимаете вопроса, это не означает, что он глупый. Цитата(ILYAUL @ Apr 15 2012, 20:02)  Отладчик DRAGON , плата с Atmega128 - отключил от платы RESET JTAG . Dragon перестал видеть плату. Из сапорта атмела запросили допинформацию: This issue seems some strange. I would like you to provide us some more details below: - Target voltage read in AVR Studio using your AVR Dragon without nSRST connected. - Picture to show the hardware connection of your test platform. - Simple schematic surrounding ATmega128 These will be helpful for us to analyze.
|
|
|
|
|
Apr 19 2012, 08:10
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(Dikoy @ Apr 18 2012, 22:14)  На будущее. Я три раза объяснил причину своего вопроса про ключ. Если вы так свято верите в стандарты - поздравляю, розовый мир даётся не всем... Когда я работал в Германии, приходилось видеть и зеркальные ISP, и JTAG с разводкой "как удобней" и всё это в продукции именитых производителей и со стандартной маркировкой. У меня был целый пучок переходников на такие разъёмы. Если у драгона горит ИБП, почему не может быть перепутана разводка жтага или его маркировка? В первых программаторах, времён S1200, у них ресет был к земле притянут. Вместе с подтяжкой на плате создавались чудеса. Потом пофиксили, но я из такого программатора резюк выпаивал, да... Китайские клоны STK-500 имели баг в ISP-6, при этом внешне не отличались от фирменных. Баг смешной - всего то земля с питанием перепутана. Открытие стоило трёх плат - две спалил техник, одну я. Так что, сеньор, если вы не понимаете вопроса, это не означает, что он глупый. Какой богатый опыт! И Ваш вопрос вовсе не глупый, он злободневный. Цоколёвку и назначение компьютерных разъёмов тоже проверяйте, бывают казусы. Цоколёвку и маркировку микросхем - особенно! И ещё много на что можно напороться с Вашим то счастьем. Будьте бдительны.
|
|
|
|
|
May 2 2012, 20:16
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676

|
Ну и хорошо что так На самом деле переыв гору документации сделал вывод, что ресет нужен лишь тогда, когда один или несколько чипов в цепочке завис/не стартанул/встал раком. Тогда программатор или юзер может сбросить всю цепь лёгким движением мыши. Ну или переткнуть питание, если ресет не выведен. Если же глюков не предвидится, то и ресет можно не вести. Были опасения, что ваш глюк есть наследие "битых житагов" http://electronix.ru/forum/index.php?showtopic=77728 но раз ошибка не в кремнии  , то и хорошо.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|