Научная статья на тему 'Atmel: новые возможности пакета avr Studio'

Atmel: новые возможности пакета avr Studio Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
127
18
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Королев Николай

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Atmel: новые возможности пакета avr Studio»

Atmel: новые возможности

пакета AVR Studio

Николай КОРОЛЕВ

korolev@ineltek.com

Программная среда разработки 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 ра-

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

ботает только под 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.

В закладке 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 имеют на кристалле аппаратный сенсорный

1141

компоненты

микроконтроллеры

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

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

контроллер. Однако работа с емкостными сенсорами может быть программно реализована практически в любом 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), где из обширного списка нужно выбрать конкретный микроконтроллер. Справа от списка микросхем отображается краткая информация о микроконтроллере, а также перечень совместимых аппаратных средств.

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

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

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

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

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

Норвежская команда компании Atmel проделала большую работу для облегчения труда рядовых программистов: она создала пакет программ AVR Studio Framework (ASF), который включает набор примеров исходных кодов, драйверов и библиотеки для AVR-контроллеров mega,

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

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

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.

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

выпускаемой в России, — AS-UC3C1. На этой плате разведен интерфейс Ethernet и установлен соответствующий разъем, хотя она имеет скромные габариты: 100x75 мм. Плата AS-UC3C1 с подключенным отладчиком JTAGICE3 представлена на рис. 7.

Комплект пакетов программ 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, являющиеся бюджетной версией контроллеров UC3B. Перечень названий микросхем представлен в таблице.

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

Серия 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 позволит разрабатывать серьезные проекты с применением современных тех-

116 I компоненты I микроконтроллеры

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

литература

1. Королев Н. Atmel: AVR32-микроконтроллеры в 2011 г. // Компоненты и технологии. 2011.

№ 5.

2. Королев Н. АТО-контроллеры: развитие семейства. Часть 2 // Компоненты и технологии. 2010. № 6.

3. Королев Н. Atmel: 32-разрядные Flash-микро-контроллеры на ядре AVR32 // Компоненты и технологии. 2008. № 11.

4. Материалы технического семинара компании Atmel. Нюрнберг, март 2011.

5. www.ineltek.com/presentations.php

6. http://www.atmel.com/asf

i Надоели баннеры? Вы всегда можете отключить рекламу.