Железная отладка AVR-ок (debugWire, JTAG и т.д.)

Обсуждаем контроллеры компании Atmel.
Ответить
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

Позвольте завести отдельную тему про железную отладку, пошелся по форуму - не нашел. Вопросы, которые ранее задавались про отладку касались отладки вскользь

Справка. Кроме симуляции (т.е. отладки виртуального МК) Atmel Studio предоставляет еще интерфейсы так называемой железной отладки.
Для того, чтобы ее осуществлять нужны фирменные отладчики или их клоны.
К фирменным относятся (по росту стоимости): AVR Dragon, JTAGICE mkII, JTAGICE3, AVR ONE!

Многие МК семейства tiny, mega, xmega поддерживают тот или иной протокол отладки. Как правило узнать об этом можно на первой странице даташита МК (Futures) в разделе Special Microcontroller Features. Есть правда исключения - например в даташите на atmega328 ничего не сказано про возможности отладки, однако этот чип может отлаживаться используя debugWire. Atmel Studio знает лучше даташитов возможности отладки - это можно увидеть в меню Project/Properties/Tool. Если в момент просмотра меню у вас подключен debugger вы увидите возможность выбора как дебггера так и протокола отладки. Если в списке протоколов значится только ISP - значит отладка не возможна. С этим например можно столкнуться на популярном МК atmega8

все изучал на собственном опыте и по документации, на форумах мне статей не попадалось, или потому что плохо искал или потому что отладчики дорогие и мало кто пользуется толи просто никто не добрался до описания. По-моему это не совсем справедливо, отладка шикарный инструмент.

Хотел бы сразу обратиться с вопросом в котором я не разобрался.
Отладка attiny13. Пока делал отладку на внутреннем генераторе 4.8 мгц все работало отлично, но стоит переключить на 9.6мгц - отладка стартует с ошибкой. В даташите ограничений по выбору частоты нет. Что может быть причиной?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

а в чем преимущество железной отладки перед симуляцией ?
Tell Me The Truth
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

FreshMan писал(а):а в чем преимущество железной отладки перед симуляцией ?
У тебя не голое ядро в вакууме, а МК полностью в реальной схеме
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

FreshMan писал(а):а в чем преимущество?
вы отлаживаете реальную схему, управляете реальной переферией, получаете входные данные от реальных датчиков и т.д.

можно видеть значения портов, менять их значение в моменты остановок
это очень сильно отличается от симуляции
прямо из студии меняешь значение бита порта ввода-вывода и логическая 1 или 0 появляются на выводе МК

для примера - отлаживаю сейчас код измерения усредненого значения переменного тока в нагрузке. Как это сделать в симуляторе? Боюсь никак, только если где-то найти модель моего датчика и моей нагрузки. А здесь - включил реальный датчик с реальной нагрузкой и в отладчике получил оцифровку этих физических величин
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

axillent писал(а): Отладка attiny13. Пока делал отладку на внутреннем генераторе 4.8 мгц все работало отлично, но стоит переключить на 9.6мгц - отладка стартует с ошибкой. В даташите ограничений по выбору частоты нет. Что может быть причиной?
Знает ли кто причину? Иногда удается запустить отладку через пляски с бубнами на 9,6 но совершенно не ясно от чего это зависит. На 4.8 запускается на ура.
Реклама
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Какой программатор/отладчик используется? Родной AVR-овский или нет? Все ли подключено по инструкции?
Реклама
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

SmarTrunk писал(а):Какой программатор/отладчик
родной jtagice3, МК установлен в STK600, только PB0-PB4 подключены к переферии
напряжение питания 5В
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

axillent, сколько стоит ваш отладчик-программатор ?
можно ли сделать самопальный или фирменный лучше ?
Tell Me The Truth
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

FreshMan писал(а):axillent, сколько стоит ваш отладчик-программатор ?
ох не спрашивайте)) мой мне стоил 100 долларов
самый недорогой фирменный это AVR Dragon, на фарнеле с доставкой его можно купить за 70 евро (50 + 20) - привезут за 4 дня

больше всего клонов как я понял есть к AVRISP mkII, он умеет только debugWire (если не ошибаюсь), но это достаточно для большинства популярных МК серий tiny и mega. Есть клоны самодельные, есть сторонних производителей, тут не смогу подсказать - нет опыта.
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

axillent писал(а):больше всего клонов как я понял есть к AVRISP mkII
это этот что ли http://avrdevices.ru/analog_avrisp_mkii_v20/ ?
я думал это просто программатор, а он еще и отладчик выходит ?
Tell Me The Truth
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

FreshMan писал(а):это этот что ли http://avrdevices.ru/analog_avrisp_mkii_v20/ ?
извините я вас запутал )) сам запутался. отладка все таки есть только в AVR Dragon, JTAGICE mkII, JTAGICE3, AVR ONE! как я и написал выше

внешне фирменный JTAGICE mkII и AVR ISP mkII очень похожи вот и путаница
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

AVRISP MK2 (по крайней мере, фирменный) поддерживает отладку по DebugWire.
Надо только, чтобы МК поддерживал тоже.. Например, ATmega8a не поддерживает, а ATmega88a с компанией поддерживает.
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

SmarTrunk писал(а):AVRISP MK2 (по крайней мере, фирменный) поддерживает отладку по DebugWire..
я тоже так думал, но сейчас воткнул AVRISP MK2 с attiny13 и студия отказалась мне включать отладку
вот список возможностей этого програматора из библиотеки документов атмела:
• Interface with AVR Studio 4.12
• ISP Programming of newer In-System Programmable AVR Devices
• Programs both Flash and EEPROM
• Supports Fuse and Lock Bit Programming
• Supports RC Oscillator Calibration
• Adjustable Programming Speed
• USB Interface
• Short-circuit Protection
• Upgradeable to Support Future Devices
на сайте есть статья про клоны jtagice http://radiokot.ru/circuit/digital/pcmod/21/
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

оказывается все не так как есть на самом деле :))
тогда может кто-либо из форумчан, кто сам собрал, подбросит смему самопального прогера-отладчика ?
Tell Me The Truth
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

FreshMan писал(а):оказывается все не так как есть на самом деле :))
)) вот и у соседей статья http://easyelectronics.ru/vnutrisxemnay ... g-ice.html
но обе статья про клоны которые как я понял умеют только jtagice, а это значит, что они могут отлаживать только старшие модели tiny и mega

если не ошибаюсь все что от 40 ног имеет jtagice, все что меньше debugWire, возможно есть исклчения, но логика примерно такая
т.е. для отладки многоногих (типа atmega16/32) можно собрать клоны из статьи и делать отладку
а вот с мелконогими даже не факт, что есть клоны

еще одна подстава может быть с клонами - их может не поддерживать студия старше 4-й

если более менее активно разрабатываете - сэкономьте на покупке десятка МК в китае вместо местных магазинов )) и вложитесь в фирменный
а если нет, то конечно наверно это будет как золотое яйцо - круто, но не надо

в местных магазинах я бы тоже низачто не купил фирменный - мой jtagice3 в москве есть только в чипдипе ... по цене самолета (около 600 долларов)
а за бугром цена вполне себе
самые хорошие цена на сайте самого атмела - но эти пиндосы в Россию не шлют, задавал им вопрос - послали к поставщикам в России
я их тоже послал и купил в США, но не у них
насчет Украины не знаю, может и шлют напрямую
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

У меня родной AVRISP MK2, про него везде написано, что поддерживает, и я в это верю. Но живьем еще не пробовал, только программировал (т.к. древняя АТмега8а не поддерживает DebugWire). Про клоны не знаю ничего.
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

SmarTrunk писал(а):У меня родной AVRISP MK2, про него везде написано, что поддерживает, и я в это верю.
он не значится в списке отладчиков и в списке функций который я привел выше отладка тоже не значится - есть банальная путаница в названиях с JTAGICE2
к сожалению, у atmela беда с наименованиями
учитывая путаницу в документации я тоже больще опыту доверяю - повторюсь, не дает он отлаживать
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Да, наверно, это так.
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Раньше когда работал с AVR, то использовал AVR Dragon для внутрисхемной отладки. Стоит он половину от jtagice3. Говорят, правда, что у него ненадежные выходные порты, но у меня никогда проблем не было и в целом я этим отладчиком остался доволен. Помню заказал их 5 шт от самого Atmel-а, но один пришел нерабочий, даже студией не распознавался.
Электрический кот
Сообщения: 1040
Зарегистрирован: Вс сен 25, 2011 19:09:33

Сообщение axillent »

не хватило мне сотни байт, поменял тини13 на тини85 и частоту изменил на 16мгц
как ни странно - отлаживается на 16 без проблем
какие то глюки или с тини13 или с конкретной партией

кстати, еще одна фишка debugWire - через него можно в том числе и прошивать чип причем в отличии от ISP - через один провод
зачем было делать ISP если через debugWire все шикарно заливается? ... загадка
Ответить

Вернуться в «AVR»