MegaICE / ICE30 / ICE50

Внутрисхемный эмулятор megaICE и внешне и функционально очень похож на рассмотренный выше ICEPRO. Отличие заключается только в том, что megaICE был предназначен только для внутрисхемной эмуляции одного типа микроконтроллера - ATmega103 и, соответственно, имел другую выносную плату (ATmegaPOD). С ростом номенклатуры семейства ATmega внутрисхемный эмулятор megaICE был заменен на более новую модель ICE30.

Внутрисхемный эмулятор ICE30 поддерживает следующие микроконтроллеры семейства ATmega: ATmega103, ATmega161, ATmega163, Atmega83 и ATmega32. Расширилось и количество используемых с ICE30 выносных плат. Для поддержки микроконтроллеров ATmega103 используется выносная плата ATmegaPOD (то есть та же, что и в эмуляторе megaICE). Поддержка микроконтроллеров ATmega161 осуществляется с использованием уже знакомой выносной платы ATADCPOD. А для оставшихся микроконтроллеров - ATmega163, ATmega83 и ATmega32 - разработана новая выносная плата ATmega163POD.

В настоящее время планируется замена ICE30 на усовершенствованный внутрисхемный эмулятор ICE50.

ICE200

Другим вариантом построения внутрисхемных эмуляторов является использование так называемых отладочных кристаллов. Отладочный кристалл представляет собой микросхему, содержащую то же процессорное ядро и набор периферийных устройств, и выполненную по той же технологии, что и целевой микроконтроллер. Но, в отличие от последнего, отладочный кристалл содержит узлы, позволяющие осуществлять доступ к его внутренним ресурсам извне, и, таким образом, управлять процессом отладки.

ICE200 представляет собой внутрисхемный эмулятор, построенный на основе отладочного кристалла. Преимущества построения внутрисхемного эмулятора на основе отладочного кристалла заключается в более точном соответствии поведения эмулятора и целевого микроконтроллера, а также в удешевлении такого внутрисхемного эмулятора по сравнению с классическим (поскольку отладочные кристаллы могут считаться стандартной продукцией микроэлектроники). Память программ отладочного кристалла ICE200 реализована на внешнем динамическом ОЗУ. Исполняемый код загружается в ОЗУ памяти программ при запуске отладчика AVR Studio в режиме поддержки внутрисхемного эмулятора ICЕ200.

ICE200 поддерживает следующие микроконтроллеры AVR: ATtiny10, Attiny11, ATtiny12, AT90S1200, AT90S2313, AT90S4414, AT90S8515, AT90S4434, AT90S8535, AT90S2333, AT90S4433. Причем поддерживаются как микроконтроллеры с напряжением питания 5 В, так и микроконтроллеры с напряжением питания 2,7 В - 3,6 В.

При разработке ICE200 специалисты фирмы Atmel стремились создать внутрисхемный эмулятор, доступный самому широкому кругу разработчиков. Для оптимального соотношения цена - функциональность решено отказаться от некоторых функций, реализованных в ранних моделях внутрисхемных эмуляторов Atmel (например ICEPRO). В ICE200 отсутствуют входы аппаратного останова и выходы синхронизации, а также не поддерживается режим записи трассы при выполнении отлаживаемой программы.

На сегодняшний день ICE200 является самым популярным внутрисхемным эмулятором, предлагаемым Atmel Corp.

Внутрисхемный эмулятор ICE200 представляет собой модульную конструкцию и состоит из:

Выносной платы с установленным на ней отладочным кристаллом;

Тестовой панели;

Платы управления;

Набора адаптеров.

Отладочный кристалл является универсальным, то есть поддерживает эмуляцию всех перечисленных микроконтроллеров. Для каждого конкретного типа микроконтроллеров существует свой адаптер, служащий для подключения выносной платы (с установленным на ней отладочным кристаллом) к целевому устройству. По типу подключенного адаптера ICE200 автоматически определяет, какой микроконтроллер будет эмулироваться.

Блок управления процессом отладки, реализованный на микроконтроллере AT90S8515-8AC и программируемой логической интегральной схеме (ПЛИС) ATF1504-10JС44;

Статическое ОЗУ (внешняя память программ отладочного кристалла);

Стабилизированный источник напряжения питания;

Формирователь уровней сигналов интерфейса RS232 для связи с персональным компьютером.

Плата управления ICE200 связывается с персональным компьютером через COM-порт.

В ICE200 реализован режим диагностики узлов внутрисхемного эмулятора. Для осуществления диагностики надо установить тестовую панель на плату отладочного кристалла, и в AVR Studio выбрать пункт меню Tools -> ICE200 Diagnostic. В результате этого откроется окно, в котором отображены все этапы диагностики (рис. 4.16).

Рис. 4.16. Окно диагностики узлов и режимов

После запуска процесса диагностирования (кнопка Run) последовательно проверяются все узлы и режимы внутрисхемного эмулятора. Если при этом определяется, что микроконтроллер и ПЛИС на плате управления содержат устаревшие варианты прошивки, то программа диагностики предложит автоматически обновить конфигурацию ПЛИС и памяти программ микроконтроллера.

Для отладки с помощью ICE200 устройств, содержащих микроконтроллеры AVR, выполненные корпусах для поверхностного монтажа, фирма Atmel предлагает дополнительный набор адаптеров ATAVRSMD. Этот набор содержит адаптеры двух типов: целевые и специализированные. Целевой адаптер припаивается на плату отлаживаемого устройства вместо микроконтроллера, а специализированный адаптер служит переходником между целевым адаптером и платой, на которой установлен отладочный кристалл. ATAVRSMD содержит по два целевых адаптера для корпусов типа SOIC8, PLCC44 и TQFP44.

JTAGICE

Альтернативой внутрисхемной эмуляции является режим фоновой отладки. В англоязычной литературе этот режим обозначается термином "On-Chip Debugging", или OCD.

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

Для поддержки режима "On-Chip Debugging" блок управления отладкой должен быть частью самого отлаживаемого микроконтроллера. В новые микроконтроллеры семейства ATmega (например ATmega128, ATmega323, Atmega16) встроен блок OCD. Исполнение программного кода и доступ ко всем регистрами микроконтроллера в режиме фоновой отладки осуществляется под управлением этого блока.

Управление фоновой отладкой в микроконтроллерах AVR осуществляется по JTAG-интерфейсу, совместимому со стандартом IEEE1149.1. Устройством, реализующим протокол управления, является JTAGICE.

Так же, как и рассмотренные выше внутрисхемные эмуляторы, JTAGICE подключается к COM-порту персонального компьютера. Управляющая программа является составной частью AVR Studio, и запускается соответствующей командой из меню Tools.

Кроме обеспечения режима фоновой отладки, JTAGICE может быть использован в качестве внутрисхемного программатора для микроконтроллеров AVR, имеющих JTAG-интерфейс.

Более подробное описание JTAGICE доступно на сайте Atmel по ссылке http://www.atmel.com/atmel/acrobat/doc2475.pdf.

В качестве стартового набора разработчика (Starter Kits) при выполнении лабораторного практикума в нашем случае используется отладочный модуль на базе ATmega8515, неполный аналог STK200 Разработанный в ЮРГУЭС. Описание этого устройства приведено в разделе 6.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: