ICEPRO / ICE10

ICEPRO представляет собой классический внутрисхемный эмулятор. Он поддерживает следующие типы микроконтроллеров: ATtiny10, ATtiny11, Attiny12, ATtiny22, ATtiny28, AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S8515, AT90S4434, AT90S8535, AT90S2333, AT90S4433.

Управление ICEPRO осуществляется через COM-порта персонального компьютера. ICEPRO содержит внутренний стабилизатор питающего напряжения, поэтому питание внутрисхемного эмулятора может осуществляться от источника нестабилизированного напряжения 9 - 15 Вольт.

Подключение ICEPRO к отлаживаемому устройству осуществляется при помощи выносной платы ATADCPOD, которая, в свою очередь, соединяется с отлаживаемыми устройствами при помощи плоских кабелей (все поддерживаемые микроконтроллеры разделены на группы, и каждой группе соответствует свой разъем на выносной плате и свой плоский кабель). На выносной плате установлены несколько переключателей и перемычек, с помощью которых производится конфигурирование ICEPRO. Состояние этих переключателей и перемычек определяет:

Наличие или отсутствие у целевого микроконтроллера аналого-цифрового преобразователя.

Наличие или отсутствие в отлаживаемой системе внешнего ОЗУ данных.

Источник питания для отлаживаемого устройства.

Источник тактового сигнала для отлаживаемой системы.

В качестве тактового может быть выбран либо генератор, расположенный на плате отлаживаемого устройства, либо сам внутрисхемный эмулятор. В последнем случае предусмотрена возможность программного управления частотой тактового сигнала из AVR Studio.

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

ICEPRO поддерживает неограниченное число программных точек останова (то есть точек останова, заданных в AVR Studio). Помимо этого ICEPRO имеет пять входов аппаратного останова (Trigger Inputs). Эти входы могут использоваться для прерывания исполнения программы по какому-либо внешнему событию. Для поддержки отладки сложных систем в ICEPRO предусмотрены пять синхровыходов (Trigger Outputs). Подобно программной точке останова, пользователь может в AVR Studio задать точку генерации синхрособытия. При выполнении внутрисхемным эмулятором команды, соответствующей этой точке, на выбранном синхровыходе будет сформирован импульс. Этот импульс может быть использован для синхронизации каких-либо внешних устройств.

Еще одной из удобных функций, реализованных в ICEPRO, является возможность записи трассы, то есть сохранение последовательности исполнения инструкций микроконтроллером. Анализ записанной трассы позволяет выявить участки кода, исполнение которых по тем или иным причинам не происходит (Code Coverage Analysis). Такой анализ очень полезен при отладке программ, содержащих несколько процедур обработки прерываний, особенно если вложенность прерываний не разрешена.

При необходимости использования комплексной отладки в ICEPRO предусмотрен разъем для подключения логического анализатора.

С ростом номенклатуры микроконтроллеров AVR внутрисхемный эмулятор ICEPRO был заменен на более новую модель ICE10.

Возможности ICE10 расширены за счет поддержки еще одного микроконтроллера - ATtiny15. Для этого микроконтроллера разработана специальная выносная плата - ATtiny15POD. Эта выносная плата содержит четырехканальный десятиразрядный аналого-цифровой преобразователь (один из каналов которого может быть сконфигурирован как дифференциальный) и отключаемый предусилитель. Конфигурация ATtiny15POD осуществляется только под управлением пакета AVR Studio, переключатели для ручной конфигурации на этой выносной плате отсутствуют.