Софт-Портал

авр студио

Рейтинг: 4.0/5.0 (1048 проголосовавших)

Категория: Windows

Описание

Atmel Studio - скачать бесплатно Atmel Studio для Windows

Atmel Studio Основная информация о программе

Atmel Studio – это интегрированная платформа разработки, которая предоставляет возможность проектировать и отлаживать приложения, разработанные для микроконтроллеров Atmel на базе архитектуры ARM процессоров серии Cortex-M. Atmel Studio представляет собой цельную, простую в работе среду, предоставляющую возможность отладки и компоновки приложений, созданных на языке C/C++ либо на ассемблере. В нее встроена объёмная библиотека абсолютно бесплатного исходного кода Atmel Software Framework, в составе которой наличествует более 1600 проектов для ARM и AVR архитектур. Наличие такой библиотеки является отличным бонусом для любого программиста. Данную IDE можно использовать для программирования всего разнообразия микроконтроллеров на основе AVR, а также флеш-микроконтроллеров на базе Atmel SAM3, в которых используются ядра Cortex-M3, Cortex-M4.

Atmel Studio также включает в себя инструменты, которые сильно облегчат жизнь любому программисту. В платформу встроены такие решения, как Atmel Spaces и Atmel Gallery. Atmel Gallery – онлайн-магазин инструментов разработки и интегрируемого программного обеспечения. Atmel Spaces представляет собой пространство в облаке, предназначенное для кооперативной разработки и хранения файлов проектов аппаратного и программного обеспечения для микроконтроллеров Atmel.

Ключевые особенности и функции
  • является совершенно бесплатной интегрированной средой разработки;
  • поддерживает языки C/C++, а также Assembler;
  • сопровождается подробной документацией;
  • включает в себя обширную библиотеку с примерами исходного кода для различных приложений;
  • предназначена для программирования микроконтроллеров Atmel.
Специальные требования
  • тактовая частота процессора от 1,6 ГГц и выше;
  • для 32-битных систем от 1 Гб оперативной памяти;
  • для 64-битных систем от 2 Гб оперативной памяти;
  • при запуске на виртуальной машине рекомендуется дополнительно 512 Мб оперативной памяти;
  • 6 Гб свободного пространства на жестком диске.
Что нового в этой версии?
  • добавлена поддержка расширенного дебаггера (EDBG);
  • добавлена поддержка профилей настроек интерфейса. Переключаться между профилями можно при помощи клавиш в панели настроек;
  • добавлена возможность импорта библиотек в ранее импортированные проекты. Добавлена поддержка Arduino Zero и Zero Pro;
  • теперь параллельная сборка включена по умолчанию;
  • обновлена прошивка для Xplained Mini;
  • исправлена работа функции "Показать все файлы" в Solution Explorer.
Смотреть всю историю изменений Вопросы и ответы по программе

авр студио:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    AVR Studio 5 EN torrent

    AVR Studio 5 5.0.1163 [EN] Название Программы: AVR Studio 5
    Версия программы: 5.0.1163
    Последняя Версия программы: 5.0.1163
    Адрес официального сайта: www.atmel.com
    Язык интерфейса: EN

    Лечение: не требуется
    Тип лекарства: не требуется
    Системные требования:

    Computer that has a 1.6GHz or faster processor
    1 GB RAM for x86
    2 GB RAM for x64
    An additional 512 MB RAM if running in a Virtual Machine
    3GB of available hard disk space
    5400 RPM hard disk drive
    DirectX 9-capable video card that runs at 1024 x 768 or higher display resolution

    Плддерживаемые ОС:
    Windows XP (x86) with Service Pack 3 - all editions except Starter Edition
    Windows Vista (x86) with Service Pack 1 - all editions except Starter Edition
    Windows XP (x64) with Service Pack 2
    Windows Vista (x64) with Service Pack 1,
    Windows 7 (x86 and x64)
    Windows Server 2003 R2 (x86 and x64)

    Описание:
    AVR Studio 5 позволяет осуществлять разработку и отладку на платформах AVR и AVR32, поддерживает большое количество средств программирования и отладки для этих платформ, содержит встроенный компилятор С/С++ (GNU GCC).
    Редактор имеет функционал: подсветка синтаксиса, интерактивные "подсказки", автодополнение ключевых слов, и т.д.
    AVR Studio 5 сопровождается огромной библиотекой готовых решений, включая "фирменный" набор средств разработки для AVR32 Atmel Software Framework, содержащий драйверы периферии, программные стеки и другие средства для AVR32. IDE содержит ряд "мастеров", помогающих в подключении нужных драйверов из Framework, настройки периферии, параметров компиляции и т.п.

    Время раздачи: 18:00 - 00:01

    Интегрированная отладочная среда AVR Studio фирмы Atmel

    Интегрированная отладочная среда AVR Studio фирмы Atmel

    AVR Studio 4 - новая профессиональная интегрированная среда разработки (Integrated Development Environment - IDE), предназначенная для написания и отладки прикладных программ для AVR микропроцессоров в среде Windows 9x/NT/2000. AVR Studio 4 содержит ассемблер и симулятор. Также IDE поддерживает такие средства разработки для AVR как: ICE50, ICE40, JTAGICE, ICE200, STK500/501/502 и AVRISP. В ближайшие месяцы будет расширен список поддерживаемых AVR Studio 4 микроконтроллеров и средств разработки. Обо всех обновлениях можно будет узнать на интернет сайте.

    AVR Studio поддерживает COFF как формат выходных данных для символьной отладки. Другие программные средства третьих фирм также могут быть сконфигурированы для работы с AVR Studio.

    Окно исходного текста программ

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

    Выполнение программ и пошаговый режим

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

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

    Список доступных окон:

    • Watch window: Окно показывает значения определенных символов. В этом окне пользователь может просматривать значения и адреса переменных.
    • Trace window: Окно показывает хронологию программы, выполняемой в настоящее время.
    • Register window: Окно показывает содержимое регистров. Регистры можно изменять во время остановки программы.
    • Memory windows: Окна показывают содержимое памяти программ, данных, портов ввода/вывода и энергонезависимого ПЗУ. Память можно просматривать в HEX, двоичном или десятичном форматах. Содержимое памяти можно изменять во время остановки программы.
    • I/O window: Показывает содержимое различных регистров ввода/вывода:
    • EEPROM
    • I/O порты
    • Таймеры
    • и т.д.
    • Message window: Окно показывает сообщения от AVR Studio.
    • Processor window: В окне отображается важная информация о ресурсах микроконтроллера, включая программный счетчик, указатель стека, регистр статуса и счетчик цикла. Эти параметры могут модифицироваться во время остановки программы.

    Настройки рабочего окружения сохраняются при выходе. При первом запуске требуется настроить окна для управления и вывода необходимой информации. Во время следующей загрузки настройки автоматически восстанавливаются.

    В AVR Studio включена поддержка отладочных средств фирмы Atmel:

    • Внутрисхемный эмулятор Atmel ICEPRO
    • Внутрисхемный эмулятор Atmel MegaICE
    • Внутрисхемный эмулятор Atmel AVRICE
    • Внутрисхемный эмулятор Atmel ICE200
    • Внутрисхемный эмулятор Atmel AsicICE
    • Внутрисхемный эмулятор Atmel ICE10
    • Внутрисхемный эмулятор Atmel ICE30

    С AVR Studio также совместимы любые программаторы и отладочные средства, которые поддерживают микроконтроллеры фирмы Atmel.

    AVR Studio 4.12 Service Pack 4 (сентябрь 2006)
    Очередное обновление популярной интегрированной среды для проектирования со встроенным ассемблером и симулятором. Четвертый пакет обновления SP4 наследовал все новые возможности предыдущих обновлений SP1, SP2 и SP3. Обновлены программа, прошивка, руководство пользователя и список поддерживаемых микроконтроллеров у AVR Dragon. Также в пакет входят новые прошивки для отладочных средств JTAGICE MKII и STK500. Включена поддержка новых типов микроконтроллеров, в т.ч. ATmega644P, ATmega329P, ATmega3290P, ATmega325P, ATmega3250P. Устранены ошибки в работе симулятора, ассемблера и JTAGICEmkII. Обратите внимание, что AVR Studio 4 SP3 и SP4 не могут работать в составе операционной системы Windows 95.

    Интегрированная среда для проектирования AVR Studio 4.12 (45Mb Ноябрь 2005 г.)

    Програмирование в AVR Studio 5 с самого начала

    Datagor Practical Electronics Magazine Журнал практической электроники Датагор Полная версия сайта

    Итак, попробуем ответить на возникшие вопросы:

    1. Выбор микроконтроллера определяется теми задачами, которые вы перед собой поставили. Микроконтроллеры AVR имеют «избыточный» набор команд, и поэтому большинство программистов используют в среднем около 40 инструкций, редко прибегая к остальным. С другой стороны, когда требуется нетипичное решение, дополнительные команды могут оказаться весьма кстати, позволяя значительно сократить объем программы.
    Технология производства микроконтроллеров сегодня одинакова как для PIC так и для AVRRISC (Reduced Instruction Set Computer) — микроконтроллеры с сокращенным набором команд. Большинство из них имеют флеш-память, которая позволяет многократно их перезаписывать. Кроме этого микроконтроллеры AVR работают в 4 раза быстрее микроконтроллеров PIC .

    2. Для начала, чтобы начать писать программы, нужно скачать интегрированную среду разработки AVR Studio 5
    (Прямая ссылка на as5installer-5.0.1163-full.exe (602Mb). будет работать, пока не смениться билд.)
    А чтобы наглядно видеть результат своей работы, не используя паяльник или макетную плату достаточно установить программу Proteus v7.7

    3. AVR Studio 5 поддерживает программатор STK-500. инструкции по сборке которого, можно легко найти в просторах всемирной паутины.

    4. Рекомендую книгу: Джон Мортон. «Микроконтроллеры AVR. Вводный курс».

    5. Советы вы можете получать на любом форуме, где так или иначе затронуты темы по микроконтроллерам. Главное на форумах правильно формулировать вопросы, чтобы четко получать ответы. Абстрактные вопросы не приветствуются, и скорее всего вместо ответа вы получите жесткую критику, или ваш вопрос останется без внимания!
    Скачать AVR Studio 5 можно, например, с официального сайта после бесплатной регистрации. Proteus вместе с патчем можно найти в Сети.

    AVR Studio 5

    Создание проекта
    Примечание: AVR Studio «не любит» русских названий, поэтому проекты должны быть с английской транскрипцией. Старайтесь размещать проекты по кратчайшему пути к основному диску, избегать ветвлений в путях доступа к файлам проекта.

    Запускаем программу, после некоторого «молчания» появляется окно:


    В левом верхнем углу кликаем New Project…


    Выбираем наверху AVR Assembler
    В строке Name: пишем имя проекта (я написал Pracsis, вы можете Praxis или что то наподобие…)
    В строке Location: путь и место хранения файлов проекта (в том числе файлы .asm и .hex)
    Имя проекта введенное в строке Solution name: будет выводится в меню при старте (я эту строку не трогаю, чтобы не путаться)


    кликаем OK
    Появляется окно выбора микроконтроллера (Device Selection)


    Выбираем контроллер (я выбрал ATtiny2313A)
    кликаем ОК
    Появляется станица редактора

    Все наши файлы можно посмотреть в Моих документах (по умолчанию, если при создании проекта путь к файлам был изменен, то ищем их там, где вы их указали в строке Location: )


    В папке Debug находится скомпилированный .hex файл, который нам будет нужен для прошивки микроконтроллера.

    Теперь мы готовы, чтобы начать писать программу. Но для того, чтобы правильно писать, нужно соблюдать определенные правила.
    В следующей статье рассмотрим, как это сделать…

    Похожие новости Комментарии (8)

    Информация
    Вы не можете участвовать в комментировании. Вероятные причины:
    — Администратор остановил комментирование этой статьи.
    — Вы не авторизовались на сайте. Войдите с паролем.
    — Вы не зарегистрированы у нас. Зарегистрируйтесь.
    — Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.



    Навигация

    Знакомство с программным обеспечением AVR Studio 4

    Знакомство с программным обеспечением AVR Studio 4

    Фрагмент текста работы

    программа переведет нас на главное окно с открытым блокнотом в котором мы будем в писывать нашу программу.

    В нашей первой программе для AVR Studio 4 мы покажем, как можно формировать интервал времени без использования таймеров и отслеживать события без привязки к внешним прерываниям. Программа будет считать в двоичном коде и демонстрировать на светодиодах (LED). После нажатия на кнопку счет остановиться. Для примера мы ограничимся тремя светодиодами, т.е. будем считать до 8.

    Сначала собираем экспериментальную установку в программе Proteus 7 Professional (рисунок 1).

    Рисунок 1 – Схема в программе Proteus

    Далее формируем временной интервал. Нам нужно сформировать задержку долей секунды. Метод без таймера основан на том, что каждая команда в МК выполняется за строго определенное время. В AVR считать время очень просто большинство команд выполняется за один такт, и по этому, например, для формирования интервала в одну секунду при тактовой частоте 4МГц, нам потребуется выполнить какую-нибудь последовательность из четырех миллионов команд. Обычно программисты используют декрементирование какой-либо величины. Предположим, что необходимое число займет три регистра-разряда (это даст максимальную величину 16777215). Схема действия такая последовательно уменьшаем самый младший разряд (назовем его Razr0) на единицу, когда его величина достигнет нуля, уменьшаем на единицу следующий (Razr1) и переходим опять к уменьшению младшего, начиная со значения 255 (это значение загружать не требуется так как при вычитание единицы из нуля результат получается равным 255 автоматом). Кода в свою очередь, величина Razr1 достигнет нуля, уменьшаем на единицу самый старший разряд (Razr2) и так до тех пор, пока все разряды не станут нулями.

    Значительно более компактно и предсказуемо будет реализовать алгоритм на основе команды вычитание с учетом переноса. Пример задержки с вычитанием с учетом переноса:

    Команда suci вычитает сразу две величины – то, что записано в самой команде, плюс флаг переноса «с». Если результат предыдущего вычитания устанавливает флаг переноса (что происходит при переходе через ноль, когда из нуля вычитается единица), то команда suci вычтет его значение, равное единице, если нет, то не вычтет ничего.

    Итак для того чтобы получить ровно 4 000 000 тактов, нам нужно записать в регистры Razr2-Razr0 число 4 000 000/5 = 800 000 или $0C3500. Это даст интервал в 1с при тактовой частоте 4МГц. В общем случае число N, соответствующее нужному интервалу времени T(c) при тактовой частоте F (Гц), можно получить по формуле:

    Отслеживание состояние вывода (кнопки) удобно командами sbic или sbis (Skip if in I/O register Clear/Set – пропустить следующую команду, если бит в РВВ очищен/установлен) применительно ко второму биту массива PIND. Приведем листинг слежения за состоянием кнопки:

    Pincykle: ; цикл отслеживания кнопки

    Sbic PIND,2 ; пропустить, если нажата

    rjmp Pincykle ; вернуться обратно, если не нажата

    Таким образом текст нашей программы можно представить как:

    ; Программа счета нажатия в двоичном коде

    .def temp = r16 ; рабочая переменная

    .def Razr0 = r17 ; разряды задержки

    .def Counter = r20;счетчик

    ldi temp, 0b00000100 ; для вторго разряда порта D

    out PORTD, temp ; подтягивающий резистор

    ldi temp,0b00000111; порт B на выход

    clr Counter ;очищаемсчетчик

    Pincykle: ; цикл отслеживания кнопки

    sbic PIND,2; пропустить если нажата

    rjmp Pincykle ; вернуться обратно если не нажата

    ; кнопака нажата пауза 0,2с, N = $027100

    Pin_release: ; отслеживаем отпускание

    sbis PIND,2 ; пропускаем если отпущена

    rjmp Pincykle ; вернуться обратно если нажата

    inc Counter; если отпущена увеличиваем счетчик

    out PORTB, Counter ; выводим счетчик в порт B

    rjmp Pincykle ; вернуться обратно к отслеживанию

    ret ; возврат из процедуры

    Далее набираем код программы в AVR Studio 4 (рисунок 2).

    Рисунок 2 – Текст программы в AVR Studio 4

    По окончанию ввода программы компилируем ее нажатием клавиши F7. Видим, что никаких ошибок в коде нет, и программа готова к выполнению. Выполняем программу нажатием клавиш Ctrl+F7. Для прогона программы нажимаем клавиши Alt+F5

    Для проверки работоспособности программы проверим ее на собранном стенде в Proteus 7 Professional (рисунок 3).

    Рисунок 3 – Загрузка программы в МК

    Демонстрация работы программы представлена на рисунках 4-5.

    Рисунок 4 - Демонстрация работы программы

    Рисунок 5 - Демонстрация работы программы

    Счетчик Counter будет считать в «круговую» - при переполнении он опять

    Занятие №1

    Search Login Занятие №1. Простейшая программа

    Задача: Разработаем программу управления одним светодиодом. При нажатии на кнопку светодиод горит, при отпускании гаснет.

    Для начала разработаем принципиальную схему устройства. Для подключения к микроконтроллеру любых внешних устройств используются порты ввода-вывода. Каждый из портов способен работать как на вход так и на выход. Подключим светодиод к одному из портов, а кнопку к другому. Для этого опыта мы будем использовать контроллер Atmega8. Эта микросхема содержит 3 порта ввода-вывода, имеет 2 восьмиразрядных и 1 шестнадцатиразрядный таймер/счетчик. Также на борту имеется 3-х канальный ШИМ, 6-ти канальный 10-ти битный аналого-цифровой преобразователь и многое другое. По моему мнению микроконтроллер прекрасно подходит для изучения основ программирования.

    Для подключения светодиода мы будем использовать линию PB0, а для считывания информации с кнопки воспользуемся линией PD0. Схема приведена на рис.1.

    Через резистор R2 на вход PD0 подается плюс напряжения питания, что соответствует сигналу логической единице. При замыкании кнопки напряжение падает до нуля, что соответствует логическому нулю. В дальнейшем R2 можно исключить из схемы, заменяя его на внутренний нагрузочный резистор, введя необходимые настройки в программе. Светодиод подключен к выходу порта PB0 через токоограничивающий резистор R3. Для того чтобы зажечь светодиод надо подать в линию PB0 сигнал логической единицы. Задающий тактовый генератор будем использовать внутренний на 4MHz, так как в устройстве нет высоких требований к стабильности частоты.

    Теперь пишем программу. Для написания программ я использую программную среду AVR Studio и WinAvr. Открываем AVR Studio, всплывает окошко приветствия, нажимаем кнопку "Создать новый проект" (New project), далее выбираем тип проекта - AVR GCC, пишем имя проекта например "cod1", ставим обе галочки "Создать папку проекта" и "Создать файл инициализации", нажимаем кнопку "Далее", в левом окошке выбираем "AVR Simulator", а в правом тип микроконтроллера "Atmega8", нажимаем кнопку "Финиш", открывается редактор и дерево категорий проекта - начальные установки закончены.

    Для начала добавим стандартный текст описаний для Atmega8 с помощью оператора присоединения внешних файлов: #include

    синтаксис директивы #include

    #include <имя_файла.h>
    #include “имя_файла.h”

    Угловые скобки < и > указывают компилятору, что подключаемые файлы нужно сначала искать в стандартной папке WinAvr с именем include. Двойные кавычки “ и “ указывают компилятору начинать поиск с директории, в которой хранится проект.

    Для каждого типа микроконтроллера есть свой заголовочный файл. Для ATMega8 этот файл называется iom8.h, для ATtiny2313 – iotn2313.h. В начале каждой программы мы должны подключать заголовочный файл того микроконтроллера, который мы используем. Но есть и общий заголовочный файл io.h. Препроцессор обрабатывает этот файл и в зависимости от настроек проекта включает в нашу программу нужный заголовочный файл.

    Для нас первая строчка программы будет выглядеть вот так:

    Любая программа на языке Си должна обязательно содержать одну главную функцию. Она имеет имя main. Выполнение программы всегда начинается с выполнения функции main. У функции есть заголовок – int main(void) и тело – оно ограниченно фигурными скобками <>.

    int main(void)
    <
    тело функции
    >

    В тело функции мы и будем добавлять наш код. Перед именем функции указывается тип возвращаемого значения. Если функция не возвращает значение – используется ключевое void .

    int – это целое 2-х байтное число, диапазон значений от – 32768 до 32767

    После имени функции в скобках () указываются параметры, которые передаются функции при ее вызове. Если функция без параметров – используется ключевое слово void. Функция main содержит в себе набор команд, настройки системы и главный цикл программы.

    Далее настраиваем порт D на вход. Режим работы порта определяется содержимым регистра DDRD (регистр направления передачи информации). Записываем в этот регистр число "0x00" (0b0000000 – в двоичном виде), кроме кнопки к этому порту ничего не подключено, поэтому настраиваем весь порт D на вход. Настроить порт поразрядно можно записав в каждый бит регистра числа 0 или 1 (0-вход, 1-выход), например DDRD = 0x81 (0b10000001) - первая и последняя линия порта D работают на выход, остальные на вход. Необходимо также подключить внутренний нагрузочный резистор. Включением и отключением внутренних резисторов управляет регистр PORTx, если порт находится в режиме ввода. Запишем туда единицы.

    Настраиваем порт B на выход. Режим работы порта определяется содержимым регистра DDRB. Ничего кроме светодиода к порту B не подключено, поэтому можно весь порт настроить на выход. Это делается записью в регистр DDRB числа "0xFF". Для того чтобы при первом включении светодиод не загорелся запишем в порт B логические нули. Это делается записью PORTB = 0x00;

    Для присвоения значений используется символ "=" и называется оператором присваивания, нельзя путать со знаком "равно"

    Настройка портов будет выглядеть так:

    DDRD = 0x00;
    PORTD = 0xFF;
    DDRB = 0xFF;
    PORTB = 0x00;

    Пишем основной цикл программы. while ("пока" с англ.) - эта команда организует цикл, многократно повторяя тело цикла до тех пор пока выполняется условие, т. е пока выражение в скобках является истинным. В языке Си принято считать. что выражение истинно, если оно не равно нулю, и ложно, если равно.

    Команда выглядит следующим образом:

    while (условие)
    <
    тело цикла
    >

    В нашем случае основной цикл будет состоять лишь из одной команды. Эта команда присваивает регистру PORTB инвертируемое значение регистра PORTD .

    PIND; //взять значение из порта D, проинвертировать его и присвоить PORTB (записать в PORTB)

    // выражения на языке Си читаются справа налево

    PIND регистр ввода информации. Для того, чтобы прочитать информацию с внешнего вывода контроллера, нужно сначала перевести нужный разряд порта в режим ввода. То есть записать в соответствующий бит регистра DDRx ноль. Только после этого на данный вывод можно подавать цифровой сигнал с внешнего устройства. Далее микроконтроллер прочитает байт из регистра PINx. Содержимое соответствующего бита соответствует сигналу на внешнем выводе порта. Наша программа готова и выглядит так:

    В языке Си широко используются комментарии. Есть два способа написания.

    При этом компилятор не будет обращать внимание на то что написано в комментарии.

    Если используя эту же программу и подключить к микроконтроллеру 8 кнопок и 8 светодиодов, как показано на рисунке 2, то будет понятно что каждый бит порта D соответствует своему биту порта B. Нажимая кнопку SB1 - загорается HL1, нажимая кнопку SB2 - загорается HL2 и т.д.

    В статье были использованы материалы из книги Белова А.В. "Самоучитель разработчика устройств на AVR"

    AVR Studio, 5

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

    http://www.atmel.com/dyn/resources/prod_documents/AvrStudio4Setup.exe - AVR Studio 4.19 (build 730) 131 MB

    http://atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP1.exe - AVR Studio 4.18 SP1 (build 692 ) (28 MB, updated 12/09)

    http://atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP2.exe - AVR Studio 4.18 SP2 (b700) (28 MB, updated 2/10)

    http://atmel.com/dyn/resources/prod_documents/AVRStudio4.18SP3.exe - AVR Studio 4.18 SP3 (b716) (31 MB, updated 9/10)

    http://atmel.com/dyn/resources/prod_documents/avr-toolchain-installer-3.0.0.240-win32.win32.x86.exe - AVR Toolchain Installer (87 MB, updated 9/10). Для использования вместе с AVR Studio 4.18 SP3

    http://atmel.com/dyn/resources/prod_documents/Atmel_QTouch_Libraries_4.3.exe - QTouch Library 4.3 (21 MB, revision 4.3, updated 7/10)

    http://atmel.com/dyn/resources/prod_documents/AvrLcd.msi - AVR LCD Visualizer (1 MB, revision 1.0, updated 02/04)

    AVR LCD Visualizer позволяет создавать собственные дисплеи LCD с помощью редактора, отлаживать и наглядно просматривать их в среде разработки AVR Studio 4. Содержит Run-time обновление для ICE50 и симулятора. Поддерживает ATmega169. Минимальные требования: AVR Studio 4.07. Перед установкой удалите старые плагины LCD.

    http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1163-full.exe - AVR Studio 5 installer (includes VSS and .NET) (602 MB, revision 5.0, updated 5/11).

    То же самое на depositfiles [2].

    1. AVR Studio archive site:atmel.com - архив всех версий AVR Studio на официальном сайте Atmel.
    2. Различные версии AVR Studio .
    3. Atmel Studio Downloads site:mikrocontroller.net. Тут можно найти прямые ссылки на закачку Atmel Studio.

    Отладка В AVR STUDIO

    Отладка В AVR STUDIO

    1. Запускаем АVR Studio 4, проект создавать не нужно.

    2. Открываем объектный файл проекта

    3. Выбираем файл для загрузки в AVR Studio 4.

    Выбрав файл с расширением .obj, отладку можно осуществлять в кодах Ассемблера. Следует обратить внимание на то, что проект содержит три файла (.asm. inc и .vec) и отладка начинается с файла .vec, содержащего векторы прерываний. Курсор отладки (желтая стрелка) установлен на команде rjmp reset. После нажатия кнопки Step Into (Fll) курсор переходит на обработчик сброса, расположенный в файле .asm, и дальнейшая отладка продолжается в обычном режиме. Чтобы пропустить команды, добавленные компилятором, и перейти к отладке кода, написанного программистом, нужно установить курсор на первую команду процедуры main О и нажать кнопку Run to cursor. Все команды до курсора будут выполнены. Проект можно просмотреть в окне Disassembler, которое открывают, выбрав в меню View;Disassembler, Отладку можно продолжить в этом окне.

    Для отладки программы на языке Си выбираем файл с расширением .cof.

    4. Устанавливаем параметры отладки в меню Debug; AVRSimulator Options: АТх8515, частота 1 МГц, протоколирование порта РВ с выводом на экран.

    5. Содержимое используемых регистров ввода;вывода МК можно проконтролировать несколькими способами:

    а) непосредственно просматривая их содержимое на вкладке НО панели Workspace;

    б) анализируя область памяти регистров ввода;вывода

    в) присвоив их значения переменным, которые в дальнейшем просматривают в окне Watch.

    В нашем случае имеем одну переменную timer, которая принимает значение таймера;счетчика TCNTO. Открываем окно Watch, выбрав команду меню View;Watch, и перетаскиваем мышью эту переменную в столбец Name. Пока переменная находится вне зоны видимости отладчика, в столбце Value будет записано Not in Scope. Подготовка к отладке завершена.

    6. В начале процесса отладки и при нажатии кнопки сброса Reset курсор отладки устанавливается на первой строке процедуры main (). Выполнение программы можно контролировать, открыв окно Disassembler, однако имея программу на языке Си, значительно удобнее отлаживать программу в окне Си-программы.

    7. Нажимая кнопку Step Into (Fll), наблюдаем за изменением содержимого регистров ввода;вывода микроконтроллера. Одно из преимуществ отладки на Си – использование только программных инструкций, способствующее ускорению процесса отладки. В цикле for (;;) командой Ассемблера sleep микроконтроллер переводится в режим пониженного энергопотребления.

    8. Занесем в счетчик TCNTO значение 2. При разомкнутой кнопке SWO (состояние 1) эмулируем замыкание кнопки SW2 (состояние 0), что приведет к вызову обработчика прерывания. При вызове процедуры delay_ms<) отладчик не входит в нее, но вызов задерживает его работу и изменяет значение счетчика циклов.

    9. Установив курсор на команде sleep, выполним команду Run to Cursor (выполнить до курсора). После останова симуляции, что обнаруживается по желтому индикатору в строке состояния, в окне Output получим список сообщений (отчет), в котором значение 0x81(10000001) соответствует готовности схемы (светодиод LED7 выключен, LED6 включен), значение OxCl(11000001) – погашены оба светодиода, 0x41(01000001) – LED6 погашен, LED7 включен. Список сообщений:

    Длительность включения светодиода LED7 составляет 0,503 с.

    10. Изменим значение задержки в процедуре delay_ms<). Редактировать объектные файлы в AVR Studio 4 нельзя, поэтому снова открываем Code Vision AVR, исправляем соответствующие строки и заново выполняем компиляцию. Если AVR Studio 4 не был закрыт, то появится сообщение, что объектный файл был изменен и его нужно перезагрузить – выполняем перезагрузку.

    11. Компилируем в CodeVision AVR, установив в окне Configure тип выходного файла Intel HEX. Загрузив полученный файл с расширением .hex в микроконтроллер STK500 и изменив на вкладке Board окна STK500 частоту, проверяем работу программы. Соединяем РВ6: РВ7 – LED6:LED7, SWO – РВО, SW2 – PD2. В исходном состоянии светодиод LED6 включен, LED7 выключен. Нажав несколько раз на кнопку SWO, затем на кнопку SW2, наблюдаем мигание светодиода LED7 с частотой 1 Гц. В это время светодиод LED6 выключен. После завершения мигания LED6 вновь включается, а устройство переходит в режим ожидания.

    Работа над проектом с использованием языка Си позволяет сделать ряд наблюдений, касающихся наглядности программ, размеров кода, отладки и их переносимости.

    Наглядность программы. Язык высокого уровня позволяет использовать сложные структуры данных, такие, как массивы, строки, списки, записи, обеспечивает максимальное удобство при написании циклов и ветвлений, избавляет программиста от написания рутинных фрагментов программ.

    Программирование на Ассемблере требует знаний всех ресурсов микроконтроллера. Программа, написанная на Ассемблере, не всегда наглядна, разобраться в коде достаточно сложно, при использовании микроконтроллеров с RISC-архитектурой возникают проблемы с программированием сложных операций, таких, как умножение и деление, с обработкой структур данных.

    Размер кода. При использовании всех возможностей языка Си программа может быть очень компактной, однако, если сравнивать откомпилированные коды, оценки могут измениться. Код, написанный на Ассемблере, минимален по размеру и оптимизирован под конкретную задачу, что позволяет получить высокую скорость работы программы. Компилятор же оперирует фрагментами кода по общим правилам. Так, в примере со светодиодами в начале работы программы 8.1 обнуляются все регистры микроконтроллера и оперативная память SRAM, при входе в процедуру прерывания регистры сохраняются в стеке, а затем восстанавливаются при выходе. Однако в приложении работа с памятью не предусмотрена – используется всего лишь несколько регистров.

    Отладка. Если программа пишется на языке высокого уровня, а отлаживать предполагается откомпилированный код, то весь процесс может занять больше времени, чем написание и отладка программы на Ассемблере. Вместе с тем написание и отладка на языке Си программ, ориентированных в большей степени на обработку данных, проще, чем при использовании Ассемблера.

    Переносимость. Изменение частоты синхронизации микроконтроллеров, очевидно, влияет на длительность выполнения процедур. Если время выполнения должно остаться неизменным (в нашем случае это время включения светодиода), потребуется вносить изменения в программу на Ассемблере, заново пересчитывая коэффициенты в циклах задержки. В программе на Си необходимо только заменить частоту в конфигурации проекта и компилятор пересчитает все автоматически, что, безусловно, проще.

    Учитывая, что откомпилированный код всегда больше исходного, написанного на Ассемблере, и принимая невозможность простой его оптимизации, можно сделать выводы о предпочтении того или иного языка программирования в зависимости от сложности и направленности задачи, наличия средств отладки, доступного размера памяти микроконтроллера, требуемого быстродействия процедур, сроков проектирования и т. д.

    В заключение приведем ряд рекомендаций по написанию программ на языке Си для микроконтроллеров. Для уменьшения размера программного кода рекомендуется:

    – компилировать с оптимизацией по размеру;

    – использовать локальные переменные, а не глобальные, так как первые хранятся в регистрах, а вторые – в ОЗУ;

    – использовать по возможности беззнаковые типы данных меньшего размера;

    – если глобальная переменная используется только в одной функции, она должна быть объявлена как Static,

    – использовать конструкцию for (;;) для бесконечных циклов;

    – использовать циклы с декрементом и конструкцию <> while <выражение)’,

    – выполнять доступ в память непосредственно, не используя указатели;

    – использовать макросы вместо функций для подзадач, компилируемых в две-три команды Ассемблера.

    Для уменьшения требований к памяти SRAM следует:

    – константы и литералы располагать в памяти программ, объявляя их с помощью директивы Flash\

    – избегать объявления глобальных переменных, если они на самом деле локальные, так как последние размещаются динамически и убираются из памяти, когда выходят из зоны видимости;

    – правильно оценивать размер программного стека (Data Stack Size), который необходимо указывать в настройках проекта

    Приложения П1. Обозначения регистров ввода;вывода