Отладочные средства для микроконтроллеров AVR в 2007 году
Ежегодные новости от Atmel Corp. о новинках в семействах популярных микроконтроллеров AVR, последних версиях инструментального программного обеспечения и современных отладочных средствах поддержки разработок давно уже стали чем-то вроде традиции. Действительно, фирма Atmel регулярно сообщает о своих планах развития семейства AVR- микроконтроллеров на специализированных тренингах для дистрибьюторов в норвежском центре AVR, расположенном в г. Тронхейм. Последний тренинг состоялся в январе 2007 года. В этом году были представлены два новых семейства: 8-разрядные AVR Xmega с тактовой частотой до 32 МГц и экономичные 32-разрядные UC3 — кристаллы с архитектурой AVR32, имеющие Flash-память программ и производительность до 70 MIPS.
Официальный анонс новых микроконтроллеров Atmel запланирован на середину 2007 года и ранее не разрешается публиковать подробную информацию. Поэтому в данной статье мы попробуем кратко дать представление о том, что нас ожидает, через призму рассказа о новых отладочных средствах и ПО для этих микроконтроллеров. По крайней мере, информация о планах по выпуску новых отладочных средств и программного обеспечения для микроконтроллеров AVR и AVR32 доступна уже сейчас.
AVR Dragon
С середины 2006 года фирмой Atmel серийно выпускается новое недорогое отладочное средство для работы с микроконтроллерами AVR. Оно получило название AVR Dragon. Столь экзотическое название и слегка экстравагантный внешний вид упаковки обязаны азиатскому происхождению — новый набор разработчика был специально выпущен для китайского рынка. Появление AVR Dragon стало своеобразным ответом компании на результаты опроса китайских разработчиков по двум вопросам — что требуется от современного отладочного средства для AVR и какова его ожидаемая стоимость. В результате был создан недорогой отладочный набор, ориентировочная стоимость которого составляет всего $51. Благодаря невысокой стоимости, AVR Dragon пользуется популярностью не только в Китае.
В комплект поставки набора (рис. 1) входит лишь небольшая плата размерами 5+10 см. Кабели и сопроводительная информация на CD в комплект не включаются. Все последние версии технической информации и программного обеспечения Atmel предлагает загрузить со специальной страницы на своем сайте — www.atmel.com/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 и может также использоваться для программирования внешней памяти.
Доступ к 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. Внешне немного изменился дизайн панелей, иконок и подсказок к ним. Встроенные инструменты претерпели следующие изменения:
- Добавлена новая версия симулятора (Simulator V2), модели микроконтроллеров в котором — это конвертированные модели кристаллов, используемые при производстве микросхем. Это еще больше приближает поведение симулятора к поведению реального микроконтроллера. Помимо этого, новый симулятор поддерживает симуляцию аналоговой периферии и FUSE-битов.
- Добавлена поддержка стартовым набором AVR Dragon основного числа выпускаемых на сегодняшний день микроконтроллеров AVR. В AVR Studio 4.12 поддерживалось 17 микросхем, а теперь- 35. Отметим еще раз, что эмуляция поддерживается только для микросхем с объемом Flash-памяти до 32 кбайт ввиду аппаратных ограничений самого AVR Dragon.
- Изменен формат просмотра SFR-регистров. Теперь можно просматривать значе- ния регистров в одном из трёх форматов: линейный (с минимальной детализацией), разделенный (детализация для выбранных регистров) и дерево (смесь первых двух форматов).
- Решены проблемы плагина для WinAVR. Для использования этого плагина теперь рекомендуется применять компилятор WinAVR, выпущенный после февраля 2007 года.
- Добавлена полная поддержка 32- и 64-разрядных версий Windows Vista — обновлены библиотеки AVR Studio и драйверы USB для средств поддержки разработок (JTAGICE2, AVRISP2, Dragon), которые устанавливаются в систему при инсталляции AVR Studio.
С точки зрения перспективы, об AVR Studio на базе платформы Eclipse, заявленной ранее, говорить пока рано. Фирма Atmel планирует отладить эту платформу для реализации интегрированной среды разработки для микроконтроллеров на базе ядра AVR32, а уже затем, возможно, выпустить версию для 8-разрядных AVR.
Заключение
При выборе микроконтроллерной платформы разработчик очень часто сталкивается с тем, что функциональные возможности кристаллов одного ценового диапазона очень близки, поэтому на окончательный выбор влияют такие факторы, как доступные программные и аппаратные средства поддержки разработок.
Центр разработки AVR уделяет особое внимание всему, что может помочь разработчику при решении поставленной перед ним задачи. Регулярно выпускаются новые аппаратные средства поддержки разработок, обновляется и без того большой список руководств по применению, которые снабжаются не только практическими указаниями, но и готовыми примерами программ, а постоянно совершенствующаяся интегрированная среда разработки AVR Studio непременно будет сильным аргументом для разработчиков, находящихся на этапе выбора микроконтроллерной платформы.
Литература
- AVR Disti Training 2007 materials
- AVR software and technical library, March 2007
- AVR32 Technical Reference Manual, 32001AAVR32- 06/06
- AT32AP7000 Datasheet, 32003H-AVR32-02/07
- http://www.atmel.com/dyn/resources/prod_documents/FLIP-3_1_1.zip