| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Програмирование и отладка через JTAG контролеров AVR
13.04.2011, 03:07
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Програмирование и отладка через JTAG контролеров AVR
Доброе время всем.
Возник дилетантский такой вопрос.
В общем никогда не пользовался JTAGом, решил одолеть.
Чего не пользовался? Да бес его знает. Сказали когда учился что мне это не нужно, что программатор дорогой и еще кучу вся всякой лабуды.
В общем увидел как с помощью такой приблуды отлаживают устройство, да и у знакомого появилось некоторое количество камней с отключенным RESETом и нужно включить и теперь хочу уметь так. Отлаживали правда ПИК с которыми я так и не подружился но и АВР судя по всему тоже так отладить очень не слабо. Отсюда посыпались вопросы.
Кто подскажите где для дураков написано как с этим работать, стоит ли с этим заморачиваться кроме как для подымания камней с неудачно установленными фюзами, можно ли самому собрать эту приблуду и (потому как слышал 2 мнения, да можно и лучше не заморачиваться).
Если можно подскажите в кратце как происходит процес отладки с такой штуковиной в реальном устройстве.
Вобщем если по чесному то еще окончательно не решил нужно за это браться или нет.
Спасибо.
|
|
|
|
13.04.2011, 07:45
|
|
|
Временная регистрация
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Для подымания камней нужен параллельный программатор.
Вроде в наборе сигналов на разъеме JTAG тоже присутствует Reset, хотя как он используется в процессе - не знаю. А вообще, JTAG есть не у всех AVR, точно есть у меги 64x, 128x. Для других надо смотреть в сторону DebugWire - однопроводной интерфейс, совмещенный с сигналом Reset.
За 10 лет работы с AVR ни разу не пользовался JTAG, а вот для ARM ошутил его полезность, хотя и не сразу.
Последний раз редактировалось EugenyAM; 13.04.2011 в 07:53.
|
|
|
|
13.04.2011, 09:07
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Сообщение от 7Fantomas7
|
|
Если можно подскажите в кратце как происходит процес отладки с такой штуковиной в реальном устройстве.
|
Как просили, вкратце.
МК должен иметь порт JTAG. См. PDF на МК.
Сигналы JTAG специфицированы и легко находятся в Инете вместе со спецификацией протокола. Там и смотрим необходимость Reset-a.
В той среде, в которой программируем, выбираем в качестве отладочного девайса то, которое у вас на руках, вместо привычного симулятора.
Компилируем программу. Загружаем в МК. Расставляем точки останова.
Выводим окно watch. Заносим в него интересующие нас переменные.
Далее или шагаем по шагам, или бежим до ближайшей точки останова. Все, как в симуляторе. Но на разные среды отладки есть разное макс. к-во брейкпоинтов.
Вот вкратце. Нюансы засветятся в процессе работы.
|
|
|
|
13.04.2011, 09:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Моё ИМХО. JTAG, конечно хорошо, но применим на "сурьёзных" процессорах,соответственн� � и Проект серьёзный.(Не часто, поэтому - ради одного в год....ну не знаю... у меня больше мелкота) А для мелкоты- есть проще вариант, Расставляю точки в программе что-интересует на Txd,если есть нога пустая- кнопка для продолжения. Любая Терминалка-отображает. (это оффтоп конечно,не по Теме, но просто без JTAG обходился спокойно,хотя были мысли -воспользоваться)
Последний раз редактировалось OlegNZH; 13.04.2011 в 09:26.
|
|
|
|
13.04.2011, 10:35
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
В ATmega8535 нет режима отладки. Тем более нет JTAG. Начинается с 16 меги. Как программатор используется в ARM. Также на его основе сделаны программаторы ПЛИС, но у каждого производителя по-своему. То есть на каждую линейку нужен свой, не совместимый с другими программатор.
Для подъёма залоченных AVR Google выдаёт правильные ссылки на запрос fusebit doctor
|
|
|
|
13.04.2011, 11:48
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Сообщение от 7Fantomas7
|
|
можно ли самому собрать эту приблуду и (потому как слышал 2 мнения, да можно и лучше не заморачиваться).
|
Самому можно собрать первую версию JTAG ICE. Она поддерживает 4 кристалла - М16,М32,М64,М128. И все. Этого крайне мало. Поэтому лучше покупать что то типа дракоши - AVR DRAGON.
Но это не очень бюджетно даже с дракошей. Отладка через JTAG идет так же, как в симуляторе - точки останова, переменные и т.д. Разница в том, что программа выполняется в целевом кристалле и реагирует на реальные внешние воздействия.
Мое ИМХО - отладчик под АВР покупать уже не стоит. Проще сменить платформу например на STM8 - там отладчик с отладочной платой сразу стоят около 350р.
Или на STM32 - стоимость отладчика около 400р опять же вместе с отладочной платой.
|
|
|
|
13.04.2011, 12:03
|
|
|
Прописка
Регистрация: 10.09.2010
Сообщений: 113
Сказал спасибо: 31
Сказали Спасибо 27 раз(а) в 27 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
С детства работал "на коленке", не было у меня дома ни хорошего стола для радиолюбительства, ни хороших инструментов. Привык и обходился довольно неплохо. Почти тоже самое было на подработке во время студенчества.
Потом поступил на работу и получил в свое распоряжение вращающееся кресло на колесиках и дубовый стенд с покрытой неубиваемым пластиком столешницей, кучей ящиков, вспомогательной боковой столешницей и полкой для приборов, а также хорошие монтажные инструменты и измерительные приборы. Выполнив первое свое задание поменял свое отношение ко всему этому, как ко второстепенному.
С тех пор мой девиз - инструмент и оснастка должны быть хорошими, по возможности - очень хорошими. Это позволяет повысить и качество и скорость работы, меньше времени тратится на второстепенную, рутинную работу, не приносящую никакой радости.
Среда программирования и отладочные средства - два основных инструмента при программировании и они должны быть хорошими.
Попробуйте один раз поработать с отладкой JTAG, поставить точку останова в интересующем месте исходника и пойти дальше в пошаговом режиме, наблюдая как "шагает и прыгает" программный код и как при этом меняется содержимое регистров и памяти, что происходит с переменными во время обработки данных, куда деваются ожидаемые результаты и где они искажаются, не говоря уж о том, что при необходимости еще можно интерактивно изменять значения переменных - и Вам уже не захочется работать по старинке. Во время отладки можно также делать эмуляцию ресета и снова и снова проходить программу с самого начала, меняя точки останова без ее перепрошивки в камне. Ну и многое другое, что быстро не опишешь.
Ну а иначе Вам придется постоянно заботится и о средствах отображения (хотя бы одна нога) и включать в исходники вспомогательные команды для косвенного отображения этапов прохождения программы, имея в руках черный ящик с кучей входов и выходов, и оценивая его работу по изменениям этой кучи. ))
ИМХО.
Другое дело, это не дешево и они разные под разные камни - но если хотите заниматься всерьез и надолго - мой совет, найдите возможность добыть устройство, соответствующее выбранным для работы контроллерам.
И для пробы не обязательно это должен быть ATMEL и JTAG или PDI. Купите например за ~300 рублей STMовскую DISCOVERY, скачайте и установите доступную среду, например 30-дневный IAR и попробуйте поработать со встроеным в нее STLink. Тогда решите сами, как лучше работать.
Последний раз редактировалось dadigor; 23.04.2011 в 13:15.
|
|
|
|
13.04.2011, 12:26
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
omercury,
Оно все хорошо вот только мегу 8535 я насилую в частном порядке, а еще у меня есть работа поэтому приходится развлекаться не на шутку.
|
Цитата:
|
|
Самому можно собрать первую версию JTAG ICE. Она поддерживает 4 кристалла - М16,М32,М64,М128. И все.
|
Это мало.
Нужен по возможности универсальный хотяб для Атмела. Нужна провереная схема желательно чтоб на АТМеге, нужны файлы прошивки, нужно чтоб обновлялся от АВРСтудии и с ней дружил как минимум, очень желательно чтоб с гальванической развязкой от компа. Вобщем подскажите где взять схемы и файлы прошивки для толкового програматора, собирать буду сам.
А еще такой дурной вопрос, а с протеусом JTAGи случай не дружат? А то както не задумывался над этим.
|
|
|
|
13.04.2011, 12:39
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Сообщение от 7Fantomas7
|
omercury,
Оно все хорошо вот только мегу 8535 я насилую в частном порядке, а еще у меня есть работа поэтому приходится развлекаться не на шутку.
.
|
Хм. omercury же ответил в #5 , у 8535 нет JTAG.
|
|
|
|
13.04.2011, 12:42
|
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Програмирование и отладка через JTAG контролеров AVR
Я вот такой собрал,так для коллекции,программирует хорошо,отладкой не пользовался.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:43.
|
|