Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2011 №10

Atmel: новые возможности пакета AVR Studio

Королев Николай


Программная среда разработки AVR Studio появилась практически одновременно с выходом AVR-микроконтроллеров и за время своего существования прошла большой путь. Первые версии пакета содержали текстовый редактор, ассемблер, компоновщик и симулятор. В качестве внешнего языка высокого уровня использовался коммерческий C-компилятор шведской компании IAR, впоследствии добавилась возможность подключать бесплатный компилятор GCC, версия WinAVR. К началу выпуска микроконтроллеров на ядре AVR32 был разработан пакет AVR32 Studio, версии под Windows и Linux. На следующем витке развития, в пятой версии, пакет AVR Studio объединил поддержку всех AVR-микроконтроллеров, то есть теперь он включает два ассемблера, 8-разрядный и 32-разрядный, а также оба GNU C-компилятора.

Введение

Пятая версия пакета AVR Studio была официально представлена 1 марта 2011 г. в Нюрнберге, на выставке Embedded World, где компания Atmel непосредственно на своем выставочном стенде организовала конференц-зал, в котором каждые два часа демонстрировалась презентация, посвященная новому продукту. Автор статьи работал на соседнем стенде и к концу выставки выучил эту презентацию наизусть.

AVR Studio 5 настолько отличается от предыдущих версий, что нужно говорить не об очередном «апгрейде», а о принципиально новом продукте, написанном «с нуля». Минимальные требования к компьютеру, на который устанавливается пакет: процессор с частотой не ниже 1,6 ГГц, 1 Гбайт памяти для 32-разрядной Windows-версии и 2 Гбайт памяти для 64-разрядной. Требуемое дисковое пространство — 3 Гбайт. На самом деле для повышения скорости работы лучше использовать двухъядерный процессор и побольше памяти. Пакет построен на базе Microsoft.NET Framework версии 4, что объясняет внушительный объем дистрибутива — более 600 Мбайт в варианте с включенными Visual Studio Shell (Isolated mode) 2010 и .NET 4.0. В дистрибутив также входят 8- и 32-разрядные C-компиляторы, поэтому процедура установки упростилась. Понятно, что AVR Studio 5 работает только под Windows, поддерживаются 32- и 64-разрядные версии Windows XP, Windows Vista, Windows Server 2003 R2 и Windows 7.

AVR Studio 5 можно устанавливать на компьютер, на котором уже есть AVR Studio 4 и AVR32 Studio. При установке будет обновлена версия Jungo USB Driver, однако это никак не повлияет на работу ранее установленных версий пакета.

AVR Studio 5 поддерживает все типы AVR-контроллеров — ATtiny, ATmega, ATXmega и AT32UC3, а также работает практически со всеми стартовыми наборами, отладочными платами и внутрисхемными эмуляторами компании Atmel, в том числе с новым внутрисхемным отладчиком JTAGICE3. Этот отладчик построен на контроллере AT32UC3A3 с большим размером SRAM на кристалле и использует интерфейс High Speed USB для подключения к компьютеру. Такое аппаратное решение повысило скорость и комфортность процесса отладки проекта.

Начало работы

При запуске AVR Studio 5 открывается окно Start Page (рис. 1), где можно создать новый проект, открыть один из многочисленных примеров или продолжить работу с текущим проектом. Также есть возможность импорта существующего проекта из AVR Studio 4 или AVR32 Studio.

Внешний вид окна Start Page

Рис. 1. Внешний вид окна Start Page

В закладке AVR Tools Help выбирается аппаратная платформа для отладки и программирования микроконтроллера — стартовая или отладочная плата, а также аппаратный отладчик или эмулятор. На закладке Get Started в меню Tutorials можно посмотреть видеоуроки, где демонстрируется процесс создания и компиляции проекта, а также новые возможности редактора AVR Studio 5, существенно ускоряющего и упрощающего написание исходного кода. Для добавления программных расширений от внешних производителей используется Extension Manager, доступ к которому осуществляется через меню Welcome в той же закладке.

Компания Atmel имеет большой успех на рынке приложений с применением сенсорных экранов. Достаточно сказать, что контроллеры емкостных сенсорных дисплеев серии maXTouch используются в таких популярных продуктах компании Samsung, как планшетный компьютер Galaxy Tab 10.1 и смартфон Samsung Galaxy S II. За два года продано более 100 млн контроллеров maXTouch. Помимо технологии maXTouch Atmel также имеет патентованные сенсорные технологии QTouch и QMatrix для работы с кнопочными, кольцевыми и линейными емкостными сенсорами. Многие новые AVR-микроконтроллеры семейств tiny/mega/Xmega/UC3 имеют на кристалле аппаратный сенсорный контроллер. Однако работа с емкостными сенсорами может быть программно реализована практически в любом AVR-микроконтроллере с помощью функций, которые входят в пакет Qtouch Library. При этом у пользователя нет доступа к исходным кодам функций, но возможна компиляция пользовательского проекта с использованием прекомпилированных функций из библиотеки Qtouch Library. Достаточно указать тип контроллера и описать использование его выводов для конкретного применения. Для разработки таких проектов Atmel предлагает бесплатный пакет AVR Qtouch Studio. Изначально этот пакет был разработан как независимое приложение, однако теперь он вошел в состав AVR Studio 5. Запуск AVR Qtouch Studio осуществляется из окна Start Page по закладке Get Started в меню Welcome.

Создание проекта

Если выбрать строку New Project, откроется соответствующее окно, где нужно указать тип компиляции: AVR GCC, AVR Assembler или AVR Studio Solution. Для каждого типа существуют шаблоны под конкретное семейство микроконтроллеров. Если выбрать строку Empty AVR GCC Project, откроется окно Device Selection (рис. 2), где из обширного списка нужно выбрать конкретный микроконтроллер. Справа от списка микросхем отображается краткая информация о микроконтроллере, а также перечень совместимых аппаратных средств.

Внешний вид окна Device Selection

Рис. 2. Внешний вид окна Device Selection

После подтверждения выбора микроконтроллера будет проведена генерация Solution, и в основном окне AVR Studio 5 откроется шаблон исходного кода, содержащий единственный файл include и пустую функцию main. Внешний вид окна с шаблоном исходного кода представлен на рис. 3.

Внешний вид окна с шаблоном исходного кода

Рис. 3. Внешний вид окна с шаблоном исходного кода

Оболочка AVR Studio 5 базируется на Visual Studio 2010 Shell, таким образом, она унаследовала такие сервисы Visual Studio, как подсветка синтаксиса, автодополнение ключевых слов и интерактивные подсказки. Например, если набрать gpio и не нажимать клавишу <Enter>, справа откроется окно с перечнем функций с таким шаблоном, причем для каждой из них приводится дополнительная информация. Пример работы «интеллектуального» редактора приведен на рис. 4.

Пример работы интеллектуального редактора

Рис. 4. Пример работы «интеллектуального» редактора

После написания или копирования в окно исходного текста проект можно запустить на компиляцию клавишей F7 и, в случае успешной компиляции, начать отладку клавишей F5. Если к компьютеру подключен какой-либо отладчик из списка поддерживаемых, можно выбрать его для работы с проектом. Если никакие аппаратные средства не подключены, следует выбрать AVR Simulator. Рабочий момент процесса отладки программы представлен на рис. 5.

Внешний вид окна отладки программы

Рис. 5. Внешний вид окна отладки программы

Необходимо отметить, что для комфортной работы с информацией, отображаемой при отладке, нужно использовать экран с разрешением не менее 1280×800 точек. После завершения процесса отладки полученный hex-файл можно загрузить в контроллер, выбрав в меню Tools строку AVR Programming.

Пакет программ AVR Studio Framework

Норвежская команда компании Atmel проделала большую работу для облегчения труда рядовых программистов: она создала пакет программ AVR Studio Framework (ASF), который включает набор примеров исходных кодов, драйверов и библиотеки для AVR-контроллеров mega, Xmega и UC3. Пакет ASF является составной частью AVR Studio 5, однако пользователям AVR Studio 4 и AVR32 Studio, а также коммерческого компилятора компании IAR доступна автономная версия пакета, которую можно загрузить с сайта [6].

Для запуска и компиляции примера из ASF нужно в меню File основного окна AVR Studio 5 выбрать строки New/Example Project. Откроется окно со списком примеров. Для облегчения поиска среди нескольких сотен файлов можно применить фильтр для отбора примеров по семействам микросхем (mega/Xmega/UC3) или по ключевам словам (USB, IO, Interrupt и т. д.).

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

Внешний вид окна выбора примера программы

Рис. 6. Внешний вид окна выбора примера программы

Плата ATUC3C-EK является одной из самых насыщенных, так как контроллер AT32UC3C3 содержит много цифровой и аналоговой периферии, включая интерфейсы CAN и LIN, а также многоканальные 12-разрядные АЦП и ЦАП. При такой насыщенности на плате отсутствует разъем Ethernet, хотя сам контроллер содержит Ethernet MAC 10/100 Mbps interface. В случае если в проекте будет использоваться Ethernet, его можно отлаживать на плате с AT32UC3C3, выпускаемой в России, — AS-UC3C1. На этой плате разведен интерфейс Ethernet и установлен соответствующий разъем, хотя она имеет скромные габариты: 100×75 мм. Плата AS-UC3C1 с подключенным отладчиком JTAGICE3 представлена на рис. 7.

Плата AS-UC3C1 с подключенным отладчиком JTAGICE3

Рис. 7. Плата AS-UC3C1 с подключенным отладчиком JTAGICE3

Комплект пакетов программ AVR GNU Toolchain

Для компиляции проектов в AVR Studio 5 используется OpenSource-компилятор GCC. Он поддерживает компиляцию проектов на языке C/C++ и на ассемблере. Фактически GCC — это набор файлов, каждый из которых выполняет свою фазу компиляции, а в целом они образуют комплект пакетов программ AVR GNU Toolchain.

В AVR GNU Toolchain входят следующие компоненты:

  • компилятор С/С++;
  • ассемблер;
  • компоновщик;
  • библиотекарь;
  • конвертор файлов;
  • файловые утилиты Binutils;
  • библиотека C Standard Library;
  • отладчик GDB.

Комплект AVR GNU Toolchain входит в состав AVR Studio 5, а также существует в виде отдельного дистрибутива.

Поддержка новых контроллеров

Компания Atmel продолжает расширять и без того немаленькую номенклатуру своих AVR-контроллеров, поэтому время от времени она выпускает обновления для AVR Studio. Например, в 2011 г. Atmel объявила о двух новых сериях микросхем. В семействае Xmega это контроллеры с индексом U, который означает наличие порта USB, а в семействе UC3 — контроллеры UC3D, являющиеся бюджетной версией контроллеров UC3В. Перечень названий микросхем представлен в таблице.

Таблица. Перечень названий микросхем

Серия Xmega Серия UC3D Flash, кбайт
ATxmega16A4U   16
ATxmega32A4U   32
ATxmega64A3U ATUC64D3, ATUC64D4 64
ATxmega128A3U ATUC128D3, ATUC128D4 128
ATxmega192A3U   192
ATxmega256A3BU   256
ATxmega256A3U   256

Заключение

Подводя итог, можно сказать, что компания Atmel выпустила очень мощный программный инструмент для программирования и отладки своих AVR-микроконтроллеров, для освоения которого, естественно, потребуется определенное время. Однако AVR Studio 5 позволит разрабатывать серьезные проекты с применением современных технологий. При этом Atmel не отказывается от поддержки привычной AVR Studio 4. В сентябре 2011 г. вышла очередная версия пакета, 4.19, где добавлен ряд новых микросхем tiny/mega/Xmega и исправлены ошибки. Пакет включает в себя все версии Service Pack, выпущенные для AVR Studio 4 версии 4.18.

Литература

  1. Королев Н. Atmel: AVR32-микроконтроллеры в 2011 г. // Компоненты и технологии. 2011. № 5.
  2. Королев Н. AVR-контроллеры: развитие семейства. Часть 2 // Компоненты и технологии. 2010. № 6.
  3. Королев Н. Atmel: 32-разрядные Flash-микроконтроллеры на ядре AVR32 // Компоненты и технологии. 2008. № 11.
  4. Материалы технического семинара компании Atmel. Нюрнберг, март 2011.
  5. http://www.ineltek.com/presentations.php
  6. http://www.atmel.com/asf

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке