Отладочные средства
для микроконтроллеров AVR в 2007 году
Алексей КУРИЛИН
[email protected] Елена ЛАМБЕРТ
Официальный анонс новых микроконтроллеров Atmel запланирован на середину 2007 года и ранее не разрешается публиковать подробную информацию. Поэтому в данной статье мы попробуем кратко дать представление о том, что нас ожидает, через призму рассказа о новых отладочных средствах и ПО для этих микроконтроллеров. По крайней мере, информация о планах по выпуску новых отладочных средств и программного обеспечения для микроконтроллеров AVR и AVR32 доступна уже сейчас.
AVR Dragon
С середины 2006 года фирма Atmel серийно выпускает новое недорогое отладочное средство для работы с микроконтроллерами AVR. Оно получило название AVR Dragon. Столь экзотическое название и слегка экстравагантный внешний вид упаковки обязаны азиатскому происхождению — новый набор разработчика был специально выпущен для китайского рынка. Появление AVR Dragon стало своеобразным ответом компании на ре-
Рис. 1. AVR Dragon
Ежегодные новости от Atmel ^^. о новинках в семействах популярных микроконтроллеров AVR, последних версиях инструментального программного обеспечения и современных отладочных средствах поддержки разработок давно уже стали чем-то вроде традиции. Действительно, фирма Atmel регулярно сообщает о своих планах развития семейства AVR-микроконтроллеров на специализированных тренингах для дистрибьюторов в норвежском центре AVR, расположенном в г. Тронхейм. Последний тренинг состоялся в январе 2007 года. В этом году были представлены два новых семейства: 8-разрядные AVR \mega с тактовой частотой до 32 МГц и экономичные 32-разрядные UC3 — кристаллы с архитектурой AVR32, имеющие Flash-память программ и производительность до 70 MIPS.
зультаты опроса китайских разработчиков по двум вопросам — что требуется от современного отладочного средства для AVR и какова его ожидаемая стоимость. В результате был создан недорогой отладочный набор, ориентировочная стоимость которого составляет всего $51. Благодаря невысокой стоимости, AVR Dragon пользуется популярностью не только в Китае.
В комплект поставки набора (рис. 1) входит лишь небольшая плата размерами 5x10 см. Кабели и сопроводительная информация на CD в комплект не включаются. Все последние версии технической информации и программного обеспечения Atmel предлагает загрузить со специальной страницы на своем сайте — w ww.atmel.c om/avrdragon.
Плата набора содержит макетную площадку, которая имеет два посадочных места для распайки микросхем в корпусах DIP40, DIP28, DIP20, DIP14 и DIP8. Это позволяет осуществлять программирование и внутрисхемную отладку микроконтроллеров в DIP-корпусах непосредственно на AVR Dragon. Для микроконтроллеров в других корпусах AVR Dragon может служить в качестве внешнего внутри-
схемного отладчика и программатора. Плата подключается к компьютеру через USB и питается от шины USB. Также имеется возможность питать внешнюю целевую плату с током нагрузки до 300 мА.
AVR Dragon предназначен для программирования микроконтроллеров AVR в различных режимах: внутрисхемном, последовательном высоковольтном и параллельном. Работает AVR Dragon под управлением AVR Studio, текущая версия которой (V4.13) поддерживает более 30 микроконтроллеров, в т. ч.: ATmega48/88/168, ATmega8/16/32, ATmega169, ATmega325P, ATmega3250P, ATmega329P, ATmega3290P, ATmega128, ATtiny13, ATtiny25/ 45/85, ATtiny2313. В будущие версии AVR Studio будет добавляться поддержка и других микроконтроллеров AVR.
Также AVR Dragon может выполнять функцию внутрисхемной отладки AVR с ограничением на объем Flash-памяти программ до 32 кбайт. В умелых руках AVR Dragon послужит заменой отладочному набору STK500 ($89), внутрисхемному эмулятору ATJTAGICE2 ($329) и внутрисхемному программатору ATAVRISP2 ($38).
AT90USBKey
AT90USBKey (рис. 2) — это оценочный набор для микроконтроллеров с интерфейсом USB, построенный на базе AT90USB1287 и также серийно выпускаемый с 2006 года. Он реализует Flash-накопитель и USB-мышь. Несмотря на то, что AT90USBKey выполнен в виде законченного устройства, он удобен для использования и на этапе разработки — все цифровые порты микроконтроллера выведены на отдельные посадочные площадки для пайки внешних элементов.
Так как микроконтроллер AT90USB1287 снабжен интерфейсом USB OTG, набор AT90USBKey можно использовать как для разработки устройств, соединяемых с ПК или прочими хост-контроллерами, так и для создания автономных устройств, стыкуемых с устройствами класса USB Device. В первом случае AT90USBKey питается от шины USB, а во втором требуется внешний источник питания. В состав набора входит целевая плата, кабели USB для использования AT90USBKey в режиме «устройство» и «хост», а также кабель для питания платы от батареи типа «Крона».
Так как AT90USBKey реализует Flash-накопитель, все программное обеспечение размещено внутри, но хранится в архивах с паролем. Для получения паролей необходимо обращаться к официальным дистрибьюторам Atmel. Программное обеспечение, поставляемое в комплекте, включает в себя программы, реализующие HID- и MSD-устройства (Human Interface Device, Mass Storage Device), а также двухролевое устройство (USB Host/ USB Device). Дополнительно через дистрибьюторов Atmel можно получить пример реализации устройства класса CDC (виртуальный COM-порт).
На плате набора размещены все необходимые элементы для работы микроконтроллера и демонстрации работы примеров про-
грамм: AT90USB1287 со всей необходимой «обвязкой», разъем USB с цепями защиты, кнопки для сброса микроконтроллера и аппаратной активации встроенного загрузчика, два двухцветных светодиода, джойстик на 4 положения с функцией нажатия, температурный датчик и две микросхемы DataFlash объемом 64 Мбит каждая. Для обеспечения работы устройства от внешнего источника питания предусмотрены цепи стабилизации напряжения.
Микросхемы AT90USB128x/64x поставляются с загрузчиком, позволяющим программировать Flash-память этих микросхем по интерфейсу USB. В качестве программы верхнего уровня используется программа FLIP3 [5].
Набор AT90USBKey подойдет разработчикам, знакомым с платформой AVR, для быстрого старта разработки устройств, в которых обязательно наличие интерфейса USB. Базовое программное обеспечение, реализующее типовые задачи для устройства с интерфейсом USB, помогает программисту ускорить разработку конечного продукта.
STK600
Начиная с третьего квартала 2007 года корпорация Atmel будет серийно выпускать новый универсальный отладочный набор STK600 (рис. 3). Являясь развитием популярного STK500, новый отладочный набор будет поддерживать все микроконтроллеры с Flash-памятью программ: 8-разрядные AVR (Xmega, mega, tiny) и 32-разрядные AVR32 UC3.
На мезонинной плате, поставляемой с STK600, имеется панель с нулевым усилием (ZIF) для микроконтроллеров в корпусе TQFP64. Всего Atmel планирует выпустить 5 различных типов мезонинных плат для STK600 с разными параметрами. Ориентировочно цена STK600 составит $200.
STK600 будет поддерживать все режимы программирования, в том числе и по новому отладочному интерфейсу d2W линейки Xmega. STK600 будет подключаться к компьютеру через USB, все свободные выводы микроконтроллера будут выведены на 15 10-контактных разъемов. Как и STK500, новый набор имеет 8 светодиодов, 8 кнопок и микросхему энергонезависимой памяти DataFlash.
Отметим, что популярный отладочный набор STK500 не планируется снимать с производства. Он будет позиционироваться как стартовый набор нижнего ценового диапазона.
AVR ONE!
AVR ONE! — предварительное маркетинговое название нового внутрисхемного эмулятора, который будет поддерживать все режимы отладки микроконтроллеров AVR и AVR32. AVR ONE! будет поддерживать JTAG и отладочный интерфейс Nexus, который позволяет осуществлять запись трассы в режиме реального времени без вмешательства в работу блоков микроконтроллера. Рабочая частота интерфейса JTAG — от 32 кГц до 50 МГц.
Для подключения AVR ONE! к компьютеру будет использоваться интерфейс USB 2.0 high speed. Напряжение питания AVR ONE! составит 1,6-5,5 В, для платы будет необходим внешний источник питания.
Ориентировочная цена эмулятора AVR ONE! — $700-800, планируемые сроки выпуска — III квартал 2007 года.
Отладочный интерфейс Nexus
Из серийно выпускаемых микроконтроллеров Atmel новый отладочный интерфейс Nexus 2.0 на данный момент реализован у 32-разрядных AP7000. Интерфейс Nexus расширяет функции интерфейса JTAG и мо-
t
JTAG
і
JTAG
On-Chip Debug
Service Access Bus
Debug PC
Debug
Instruction
A
Breakpoints
NanoTrcae
Module
Memory
Interface
Transmit Queue
Program
Trace
- Watchpoints
Data Trace
Ownership
Trace
CPU
О
Data
Cache
О
Memory
Рис. 4. Блок-схема отладочной системы AVR32AP7000
жет также использоваться для программирования внешней памяти.
Доступ к Nexus осуществляется с помощью внешнего отладочного средства, которое подсоединяется к порту JTAG через стандартный 10-контактный разъем, а также к дополнительному порту (порт AUX). Этот порт используется для записи трассы, а отладчик на базе JTAG может использоваться для базовой отладки.
Блок-схема отладочной системы АР7000 представлена на рис. 4. Она включает:
• базовые функции управления выполнением программы;
• программные точки останова;
• точки останова по условию;
• запись трассы программы;
• запись ID процесса в регистр OCD (ownership trace);
• запись трассы данных;
• прямой доступ к памяти во время исполнения программы.
При достижении точки останова процессор переходит в режим отладки. В режим отладки можно входить через режим OCD, выполняя команды из JTAG, либо через режим мониторинга (Monitor Mode), выполняя команды из памяти программ. Так как процессор имеет прямой доступ к регистрам OCD, имеется возможность создать программный отладчик, запускаемый непосредственно из процессора.
Для задания режима работы отладчика используются регистры OCD, запись в них осуществляется по JTAG-интерфейсу. Большинство режимов работы не зависит от значения на выходе порта AUX.
Функция прямого доступа к памяти позволяет осуществлять чтение из памяти «на лету», не останавливая выполнение програм-
мы и процессор. Также, в соответствии со стандартом Nexus, можно осуществлять доступ к памяти, используя регистры OCD.
В AVR32 помимо стандартных функций интерфейса Nexus реализован ряд дополнительных, например NanoTrace. NanoTrace — это специальная функция, которая позволяет выводить запись трассы данных вместо порта AUX в память. Пользователь должен с помощью регистров отладчика определить размер и адрес блока памяти, используемого для NanoTrace. Буфер NanoTrace может располагаться по любому адресу, включая внутреннее и внешнее ОЗУ. Эта область не может быть использована приложениями, запускаемыми процессором.
AVR Studio 4.13
На момент написания статьи корпорацией Atmel был выпущен релиз 522 AVR Studio V4.13. Внешне немного изменился дизайн панелей, иконок и подсказок к ним. Встроенные инструменты претерпели следующие изменения:
1. Добавлена новая версия симулятора (Simulator V2), модели микроконтроллеров в котором — это конвертированные модели кристаллов, используемые при производстве микросхем. Это еще больше приближает поведение симулятора к поведению реального микроконтроллера. Помимо этого, новый симулятор поддерживает симуляцию аналоговой периферии и FUSE-битов.
2. Добавлена поддержка стартовым набором AVR Dragon основного числа выпускаемых сегодня микроконтроллеров AVR. В AVR Studio 4.12 поддерживалось 17 микросхем,
а теперь — 35. Отметим еще раз, что эмуляция поддерживается только для микросхем с объемом Flash-памяти до 32 кбайт ввиду аппаратных ограничений самого AVR Dragon.
3. Изменен формат просмотра SFR-регистров. Теперь можно просматривать значения регистров в одном из трех форматов: линейне (с минимальной детализацией), разделенне (детализация для выбранных регистров) и «дерево» (смесь первых двух форматов).
4. Решены проблемы плагина для WinAVR. Для использования этого плагина теперь рекомендуется применять компилятор WinAVR, выпущенный после февраля 2007 года.
5. Добавлена полная поддержка 32- и 64-разрядных версий Windows Vista — обновлены библиотеки AVR Studio и драйверы USB для средств поддержки разработок (JTAGICE2, AVRISP2, Dragon), которые устанавливаются в систему при инсталляции AVR Studio. С точки зрения перспективы, об AVR Studio
на базе платформы Eclipse, заявленной ранее, говорить пока рано. Фирма Atmel планирует отладить эту платформу для реализации интегрированной среды разработки для микроконтроллеров на базе ядра AVR32, а уже затем, возможно, выпустить версию для 8-разрядных AVR.
Заключение
При выборе микроконтроллерной платформы разработчик очень часто сталкивается с тем, что функциональные возможности кристаллов одного ценового диапазона очень близки, поэтому на окончательный выбор влияют такие факторы, как доступные программные и аппаратные средства поддержки разработок.
Центр разработки AVR уделяет особое внимание всему, что может помочь разработчику при решении поставленной перед ним задачи. Регулярно выпускаются новые аппаратные средства поддержки разработок, обновляется и без того большой список руководств по применению, которые снабжаются не только практическими указаниями, но и готовыми примерами программ, а постоянно совершенствующаяся интегрированная среда разработки AVR Studio непременно будет сильным аргументом для разработчиков, находящихся на этапе выбора микрокон-троллерной платформы. ■
Литература
1. AVR Disti Training 2007 materials
2. AVR software and technical library, March 2007
3. AVR32 Technical Reference Manual, 32001A-AVR32-06/06
4. AT32AP7000 Datasheet, 32003H-AVR32-02/07
5. ht tp://w ww.atmel.co m/dyn/resources/ prod_documents/FLIP-3_1_1.zip