Содержание
- Учимся создавать проекты с помощью AVR микроконтроллера
- Комплектующие
- Схема
- Как установить AVR Studio
- Как установить WINAVR
- Как подключить USBASP и установить драйвер для Windows
- Как настроить Atmel Studio 7 и WinAVR
- Создание первого проекта
- Заключение
- Программирование микроконтроллеров AVR с помощью программатора USBASP и Atmel Studio 7.0
- Установка драйвера для USBASP в Windows 10
- Скачивание и установка Atmel Studio
- Установка WinAVR в Atmel Studio
- Схема устройства с мигающим светодиодом для Atmega16
- Компоновка и загрузка программного кода в Atmega16
- Заставляем работать AVR isp mkii clone на windows 10 и Atmel Studio 7:
- После обновления до Atmel Studio 7 avr isp mkii clone перестал работать.
- Atmel Studio 6.2 Официальный русский сайт Atmel Studio! Скачайте бесплатно Атмел Студио для Windows!
- Скачайте Atmel Studio с официального сайта
- Преимущества
- Стоимость
- Скорость
- Функционал
- Скриншоты
- Видео
Учимся создавать проекты с помощью AVR микроконтроллера
В этом материале вы узнаете, как использовать AVR IDE для создания проектов, базовых схем и программирования ваших цепей.
Комплектующие
Микроконтроллеры AVR имеют некоторые преимущества по сравнению с другими аналогичными микросхемами, включая более высокую MIPS и более дружественную архитектуру. В этой статье мы узнаем, как использовать AVR IDE, как создать исполняемый проект, построить базовую схему AVR, а затем запрограммировать ее. Для этого нам понадобится набор компонентов, а также некоторое программное обеспечение.
Оборудование:
Программное обеспечение:
Схема
Построение схемы довольно простое и может быть выполнено с использованием большинства методов построения схем, включая макет, картон, монтажную плату и печатную плату.
Схема в этом проекте показывает использование простой цепи регулятора мощности (с использованием 7805), которую обеспечивает устройство ATMEGA 5В, но оказывается, что программатор USBASP обеспечивает приблизительно 3,3 В. Несмотря на это, лучше обеспечить внешнее питание, чтобы USBASP не потреблял слишком много тока из любого USB-порта.
Программатор USBASP, который я купил, также шел с конвертером, который преобразует 10-контактный разъем в более удобный 6-контактный программный разъем. Тем не менее, header использует двухрядный шаг 2,54 мм, что означает, что он не может быть подключен к макету. Чтобы обойти это, я просто подключил разъем к проводам, которые соединяются с различными пинами на макете.
Как установить AVR Studio
Устройства AVR программируются с использованием специально модифицированной Visual Studio 2015 под названием AVR Studio 7, которую можно найти на сайте AVR. Первым шагом в программировании устройств AVR является скачивание установщика (небольшого приложения, которое загружает потом необходимые файлы). После скачивания нужно запустить установщик.
Первое, что он вас спросит, будет текст лицензионного соглашения и вопрос про отправку анонимной информации. Я лично рекомендую вам не отправлять анонимные данные по ряду причин (из-за крайней паранойи).
На следующей странице спрашивается какую архитектуру вы хотите установить. Поскольку наш материал охватывает только устройства из диапазона 8-битных микроконтроллеров AVR, то это будет единственная выбранная опция. Однако, если у вас приличная скорость загрузки (у меня всего 4 Мбит/с), тогда выбор всех опций может пригодиться в будущем.
Следующая страница просто проверяет ваш компьютер на наличие потенциальных проблем, таких как отложенный перезапуск (из-за обновления), или если система не сможет запустить IDE. Если все проверено и ОК, жмите «Далее».
Если вы уже установили более раннюю версию AVR IDE, вы можете увидеть следующее окно. Если это так, просто нажмите «Установить».
Теперь нужно подождать пока IDE загрузит все необходимые компоненты и установит их.
После этого вам будет предложено запустить Atmel Studio 7.0. Убедитесь, что стоит галочка перед закрытием окна установки.
Как установить WINAVR
Хотя Atmel Studio 7 полезная штука для написания кода, она не самый лучший выбор, когда речь идет о программировании устройств AVR с использованием инструментов с открытым исходным кодом. Поэтому, чтобы сделать жизнь проще на этапе компиляции и/или программирования, мы будем использовать WINAVR, которая также поставляется с AVRDUDE для загрузки нашего кода на устройства Atmega. Чтобы скачать WINAVR для Windows, просто нажмите на эту ссылку и выберите исполняемый exe-файл.
После скачивания запустите установщик и просмотрите все предложенные опции, пока программа не спросит вас про место установки.
После того, как кнопка установки нажата, установщик выполнит остальную часть работы, после чего установщик закроется.
Как подключить USBASP и установить драйвер для Windows
Если вы используете Windows, вам необходимо изменить драйвер USB для USBASP. Это сделать не сложно с помощью инструмента под названием Zadig. Проще говоря:
После того, как вы нажмете «Заменить драйвер» (или Переустановить драйвер), Zadig автоматически установит драйвер, необходимый для работы USBASP в Windows.
Как настроить Atmel Studio 7 и WinAVR
Atmel Studio 7 не будет изначально использовать WINAVR или AVRDUDE, поэтому мы должны настроить её для этого. Это может показаться пугающим, но не паникуйте; для программирования устройства AVRDUDE необходима только одна строка инструкций, и только один каталог требуется определить. Фактически, вы должны быть в состоянии скопировать и вставить код в этой статье для любого проекта на базе ATMEGA168.
Предполагая, что вы установили WINAVR в папку по умолчанию на диске C и что у вас та же версия, что и в WINAVR, как в этой статье, во всплывающем окне мы пишем так, как показано ниже. После заполнения полей нажмите «Добавить» (англ. add), а когда вы вернетесь в предыдущее окно, нажмите «ОК».
Atmel Studio 7 теперь может использовать WINAVR для компиляции программ AVR, но все равно не может программировать устройства. Для этого нам нужно добавить внешний инструмент в Atmel Studio 7 и настроить его для устройства ATMEGA168.
Поле «Аргументы» (англ. Arguments) не полностью отображает всю информацию, которая необходима, и поэтому приведу ниже то, что было заполнено:
Второй параметр -U lfuse:w:0x26:m, который специфичен для ATMEGA168. Эта инструкция указывает AVRDUDE настроить устройство на использование внешнего кристалла, и после программирования устройство будет работать только при подключении к схеме кристалла. Обратите внимание, что это также означает, что устройству требуется кристалл при программировании. Этот аргумент будет работать только для ATMEGA168.
Создание первого проекта
Следующая задача состоит в том, чтобы создать проект на основе AVR микроконтроллера и протестировать схему, компилятор и программатор.
Результатом должен стать файл main.c, содержащий код нашей программы, который будет запускать AVR. Однако сгенерированный код ничего не делает, поэтому замените все содержимое файла main.c с помощью приведенной ниже программы (обязательно сохраните файл после ввода нового кода).
Это означает, что наш проект успешно скомпилирован и готов к передаче на наш чип. Чтобы запрограммировать устройство, убедитесь, что USBASP подключен как к ПК, так и к цепи Atmega, к цепи подано питание и что к микросхеме подключен кристалл (в случае, если микросхема была настроена для использования внешнего кристалла).
Если все хорошо, светодиод в вашей цепи должен начать мигать. Ниже приведен вывод AVRDUDE в Atmel Studio 7, показывающий, как выглядит успешная программа.
Заключение
Начало работы с устройствами AVR может показаться несколько сложным, если вы не используете официальный программатор, который может работать «из коробки» с Atmel Studio 7. Однако в инструментах программирования требуется определить только одну командную строку (тип устройства, биты и т.п.). И все будущие проекты могут использовать один и тот же инструмент/компилятор, который нужно настроить только один раз.
Т.е. следующий проект ATMEGA168, который вы будете делать, сможет использовать тот же компилятор и внешний инструмент, что и в этом проекте и не потребуется никаких дополнительных настроек. Конечно, в более сложных проектах может потребоваться замена бит (англ. fuse), например, но в данном материале я хотел просто помочь вам освоить работу с устройствами AVR.
Источник
Программирование микроконтроллеров AVR с помощью программатора USBASP и Atmel Studio 7.0
Существует несколько способов программирования микроконтроллеров семейства AVR. В данной статье мы рассмотрим один из наиболее популярных в настоящее время способов программирования данных микроконтроллеров – с помощью программатора USBASP v2.0 и программы Atmel Studio 7.0. Хотя на нашем сайте уже есть достаточно подробные статьи про программатор USBASP и программу Atmel Studio 7.0 я все таки решил перевести с иностранного сайта и эту статью – вдруг кто то найдет в ней для себя что то интересное.
В данной статье будут рассмотрены следующие вопросы:
Рассмотрим подробно все эти вопросы. Установку драйвера для программатора USBASP будем рассматривать на примере операционной системы Windows10 – но все сказанное в этом разделе будет справедливо и для других версий Windows.
Установка драйвера для USBASP в Windows 10
После скачивания драйвера выполните следующую последовательность действий:
1. Распакуйте из архива скачанные файлы и поместите их на рабочий стол.
2. Подсоедините модуль USBASP v2.0 к своему компьютеру.
3. Откройте в Windows диспетчер устройств (Device Manager).
4. Теперь вы можете увидеть подсоединенный USBASP в списке устройств.
5. Кликните правой кнопкой мыши по “USBasp” и выберите “Обновить драйвер (Update Driver)”.
6. Select “Произвести поиск драйвера на своем компьютере (Browse my computer for driver software)”.
7. Найдите в открывшемся окне распакованную папку с драйвером для USBASP и щелкните «Открыть».
8. Если установка драйвера прошла успешно, то вы увидите сообщение примерно такое же как на нижеприведенном рисунке – в этом случае вам уже не нужно выполнять дальнейшие инструкции в этом разделе статьи.
9. Если вы увидите сообщение об ошибке как на приведенном рисунке, то вы в этом случае должны отключить цифровую подпись драйвера.
Чтобы сделать выполните следующие шаги:
— нажмите кнопку Shift и удерживая ее нажатой перезагрузите свой компьютер (кликните Restart в меню Windows пока держите ее нажатой);
— когда ваш компьютер перезагрузится не отпускайте кнопку Shift до тех пор пока не увидите “Advanced Options (Расширенные настройки)” на синем экране;
— отпустите кнопку Shift и кликните на “Startup Settings”;
— кликните на “Troubleshoot (Устранение проблем)”;
— выберите “Advanced Options (Расширенные настройки)”;
— после этого вы увидите на экране список расширенных опций и кнопку “Restart” в правом нижнем углу – кликните на ней;
— подождите пока компьютер снова перезагрузится. После этого вы увидите на экране ряд настроек;
— в открывшемся списке настроек выберите пункт “Disable Driver Signature Enforcement (Отключить цифровую подпись драйвера)”. Чтобы ее выбрать просто нажмите кнопку «7» на вашей клавиатуре (не путать с кнопкой «F7»);
— после нажатия этой кнопки компьютер перезагрузится и цифровая подпись драйвера будет отключена;
— после этого снова выполните шаги 1-8 из данного раздела статьи и драйвер для программатора USBASP будет успешно установлен.
Скачивание и установка Atmel Studio
Выполните следующую последовательность действий:
2. Также вам необходимо скачать приложение WinAVR чтобы иметь возможность загружать программы в микроконтроллер AVR с помощью USBASP.
После этого вам необходимо создать тестовый проект в Atmel Studio 7.0. Для этого выполните нижеследующую последовательность действий.
3. Подсоедините USBASP v2.0 к USB порту вашего компьютера и подождите пока он правильно определится.
4. Откройте Atmel Studio.
5. Выберите пункт меню “File”, в нем “New” и выберите “project”.
6. Теперь назовите ваш проект, выберите место расположения проекта и выберите компилятор “GCC C Executable Project”. Кликните на “Ok” и продолжайте.
7. После этого вам будет необходимо выбрать ваше устройство для программирования. В нашем случае это будет микроконтроллер Atmega16A. Если вы будете программировать другие микроконтроллеры, например, Atmega8, Atmega32, то для их программирования также можно использовать программатор USBASP.
8. После этого для вас будет создан файл main.c, где вы можете писать ваш программный код.
Но после создания проекта финальный шаг, который вам необходимо выполнить – это установить внешние инструментальные средства (WinAVR).
Установка WinAVR в Atmel Studio
1. В пункте меню “Tools (Инструменты)” выберите “External Tools (Внешние инструменты)”.
2. У вас откроется окно, где вы должны будете ввести имя вашего инструментального средства.
3. В пункте “Title (название)” введите имя вашего внешнего инструментального средства. Можно выбрать любое имя, но в рассматриваемом примере мы выбрали имя “USBasp”. Поставьте галочку в пункте ”Use Output Window” и снимите галочку с пункта “Prompt for arguments” как показано на нижеприведенном рисунке.
4. Теперь ведите “Command”. Там будет необходимо указать путь к “avrdude.exe” – его вы можете найти в папке где установлена WinAvr. Просто найдите “WinAVR-20100110” на диске “C” вашего компьютера – куда вы устанавливали WinAvr.
5. Введите аргументы. Это самый важный шаг в этой последовательности действий поскольку от них будет во многом зависеть корректность работы приложения. Поскольку в рассматриваемом нами случае мы используем внешние инструментальные средства, то можно ввести следующие аргументы:
6. Больше аргументов можно найти по этой ссылке.
7. Введите аргументы в поле для ввода аргументов. Оставьте поле “Initial directory (Начальный директорий)” без изменений.
8. После заполнения всех полей нажмите “Apply” и затем “Ok”.
В результате этих шагов вы сможете использовать внешние инструментальные средства чтобы загружать программы в микроконтроллер. Проверим это с помощью тестового проекта (программы) “blink.c”. Файл main.c вы можете найти в конце этой статьи. Теперь скопируйте main.c в Atmel studio.
Схема устройства с мигающим светодиодом для Atmega16
Схема устройства, которую необходимо собрать, приведена на следующем рисунке. Соедините кварцевый генератор и светодиод с микроконтроллером Atmega16.
Внешний вид макетной платы в этом случае будет выглядеть следующим образом:
Также вы должны соединить микроконтроллер и USBASP как показано на следующей схеме:
Компоновка и загрузка программного кода в Atmega16
1. Сохраните файл main.c.
2. Подсоедините светодиод к контакту PORTA0 микроконтроллера Atmega16 как было показано на вышеприведенном рисунке.
3. Выберите пункт меню “Build” и затем выберите “Build Blink”.
4. Если программа не содержит ошибок, то вы увидите сообщение как на представленном рисунке.
5. Теперь выберите пункт меню “Tools” и выберите в ней созданные внешние инструментальные средства. В нашем случае это будет “USBasp”. Кликните по нему.
6. Если после этого вы увидите сообщение об успешности операции (как показано на рисунке ниже), то значит вы успешно загрузили программу в микроконтроллер. Если вы получили сообщение об ошибке, то проверьте правильность выполнения всех предыдущих шагов, а также проверьте исправность соединительных проводов между USBASP и Atmega16.
7. Вы успешно загрузили тестовую программу с мигающим светодиодом в микроконтроллер используя USBASP v2.0 and Atmel Studio 7.0 и можете увидеть как мигает светодиод в собранной схеме. Теперь вы можете аналогичным образом загружать в микроконтроллер любые другие программы.
Источник
Заставляем работать AVR isp mkii clone на windows 10 и Atmel Studio 7:
После обновления до Atmel Studio 7 avr isp mkii clone перестал работать.
Программатор avr isp mkii clone на at90usb162 16МГц
1. Подготовка среды для сборки прошивки с fw 1.8 и режимом переключения совместимости
— устанавливаем Atmel Studio 7;
— кроме того для компилятора устанавливаем набор портированных *nix утилит: BASH *nix shells, и *nix утилит таких как cut, find и sed:
с сайта mingw скачиваем инсталятор и при установке выбираем следующие пункты: mingw32-base, mingw32-binutils и msys-base, инсталятор сам установит все зависящие пакеты;
— с сайта скачиваем архив LUFA библиотек с проектами, распаковываем в корень системного диска (c:lufa-master… );
— в переменной среды PATH для пользователя и для системы дописываем (! пример):
C:Program Files (x86)AtmelStudio7.0toolchainavr8avr8-gnu-toolchainbin;C:MinGWmsys1.0bin
(пути будут зависить от типа ОС и предпочтений пользователя)
2. Правка исходников прошивки и копиляция
— правим файл C:lufa-masterProjectsAVRISP-MKIImake (прописываем свой камнь и частоту)
— правим файл C:lufa-masterProjectsAVRISP-MKIIConfigAppConfig.h (разрешаем переключение режимов совместимости):
— правим файл C:lufa-masterProjectsAVRISP-MKIILibV2ProtocolParams.h (тут указываем совместимость версии прошивки 1.8):
— открываем камандную строку AS 7 command promt и пишим команды построчно:
— после этого в данном (C:lufa-masterProjectsAVRISP-MKII) каталоге должен появиться hex файл прошивки (который прошиваем с помощью Flip введя программатор в режим DFU);
— после прошивки режим совместимости в программаторе выбирается нажатием RESET и сохраняется в памяти;
— для очистки каталога от результатов компиляции можно выполнив команду:
— Скачиваем Zadig. Zadig это USB driver менеджер для Windows, позволяет подменять драйвер. Последняя версия идет с libusb-win32 (v1.2.6.0) драйвером.
— Открываем Zadig, Options, List All Devices. Из списка выбираем AVRISP mkII (прежде при первом подключении программатора следует сменить режим).
— Смeнить текущий драйвер на libusb-win32 (v1.2.6.0)
Источник
Atmel Studio 6.2 Официальный русский сайт Atmel Studio! Скачайте бесплатно Атмел Студио для Windows!
Скачайте Atmel Studio с официального сайта
Преимущества
Стоимость
Бесплатный среда для разработки.
Скорость
Разработка приложения в два клика.
Функционал
Огромный функционал для разработки.
Скриншоты
Видео
На сегодняшний день существуют разнообразные платформы, которые позволяют выполнять разработку и проектирование микроконтроллеров Atmel Studio. Если вы решите скачать себе подобную программу, тогда наверняка можете заметить, что она представляет собою цельную и простую среду, которая предоставляет замечательную возможность выполнять отладку и компоновку разнообразных приложений. В нее будет встроена объемная библиотека для исходного кода Software Framework. В составе этой программы будет находиться более 1600 разнообразных проектов, которые предназначаются для ARM и AVR.
Подобная библиотека считается настоящей находкой практически для любого программиста. Подобная библиотека будет считаться настоящим бонусом для программиста. Если вы будете использовать IDE модель, тогда для программирования вы также можете использовать все разнообразие микроконтроллеров.
После установки Atmel Studio вы сможете заметить, что здесь присутствуют практически все инструменты, которые в дальнейшем будут облегчать жизнь любому программисту. В платформу будут встроены разнообразные решения, а также специальный магазин инструментов разработки. Наиболее популярными решениями считаются Atmel Spaces, а также Atmel Gallery. Для сохранения всех данных вы будете использовать облако, а также для кооперативной разработки.
Источник
Atmel Studio — интегрированная среда разработки (IDE) от компании Atmel для разработки приложений под микроконтроллеры ARM Cortex-M и AVR.
Установка Atmel Studio
Установите на компьютер интегрированную среду разработки микроконтроллеров семейства AVR — Atmel Studio.
Выберите интересующий вас вариант установки:
-
Online версия
-
Offline версия
Запуск Atmel Studio
Запустите Atmel Studio — откроется окно, приведённое на рисунке:
Пример программы
-
Создайте новый проект. Для этого зайдите в меню:
-
Проведите предварительные настройки проекта:
-
1. Тип файла:
C/C++
-
2. Компилятор:
GCC
-
3. Название проекта.
-
4. Путь хранения проекта и нажмите кнопку
OK
-
-
Выберите интересующий вас микроконтроллер и нажмите кнопку
OK
. В качестве примера мы выберем микроконтроллерATmega32U2
. -
Откроется окно разработки проекта.
-
Добавьте строки кода в проект.
- blink
-
// подключаем необходимые библиотеки #include <avr/io.h> #define F_CPU 16000000 #include <avr/io.h> #include <util/delay.h> int main(void) { // порт B в режим выхода DDRB = 0xFF; // устанавливаем нули на выходе PORTB = 0x00; while (1) { // зажигаем светодиод PORTB |= (1 << PB0); // ждём 1 секунду _delay_ms(1000); // гасим светодиод PORTB &= ~(1 << PB0); // ждём 1 секунду _delay_ms(1000); } }
В итоге должна получиться следующая картина:
-
Откомпилируйте ваш проект. Для этого зайдите в меню
Build
и выберите командуRebuild Solution
.В окне состояния вы увидите отчёт об компиляции.Если у вас есть ошибки, дальше двигаться нельзя. Внимательно проверьте все строки программы.
-
В заключении откройте полученный
hex-файл
и прошейте им вашу платформу.
В этом материале вы узнаете, как использовать AVR IDE для создания проектов, базовых схем и программирования ваших цепей.
Содержание
- Комплектующие
- Схема
- Как установить AVR Studio
- Как установить WINAVR
- Как подключить USBASP и установить драйвер для Windows
- Как настроить Atmel Studio 7 и WinAVR
- Создание первого проекта
- Заключение
Комплектующие
Микроконтроллеры AVR имеют некоторые преимущества по сравнению с другими аналогичными микросхемами, включая более высокую MIPS и более дружественную архитектуру. В этой статье мы узнаем, как использовать AVR IDE, как создать исполняемый проект, построить базовую схему AVR, а затем запрограммировать ее. Для этого нам понадобится набор компонентов, а также некоторое программное обеспечение.
Оборудование:
- ATMEGA168 DIP IC x 1
- Кварцевые резонаторы, кристалл (4-20 МГц) x 1
- 20 пФ конденсатор x 2
- 680 резистор x 1
- 5.6K резистор x 1
- Светодиод LED x 1
- Источник 5 В (цепь 7805, плавное регулирование и т.д.) x 1
- Провода
Программное обеспечение:
- USBASP
- WINAVR (20100110)
- Atmel Studio 7
Схема
Построение схемы довольно простое и может быть выполнено с использованием большинства методов построения схем, включая макет, картон, монтажную плату и печатную плату.
Схема в этом проекте показывает использование простой цепи регулятора мощности (с использованием 7805), которую обеспечивает устройство ATMEGA 5В, но оказывается, что программатор USBASP обеспечивает приблизительно 3,3 В. Несмотря на это, лучше обеспечить внешнее питание, чтобы USBASP не потреблял слишком много тока из любого USB-порта.
Программатор USBASP, который я купил, также шел с конвертером, который преобразует 10-контактный разъем в более удобный 6-контактный программный разъем. Тем не менее, header использует двухрядный шаг 2,54 мм, что означает, что он не может быть подключен к макету. Чтобы обойти это, я просто подключил разъем к проводам, которые соединяются с различными пинами на макете.
Как установить AVR Studio
Устройства AVR программируются с использованием специально модифицированной Visual Studio 2015 под названием AVR Studio 7, которую можно найти на сайте AVR. Первым шагом в программировании устройств AVR является скачивание установщика (небольшого приложения, которое загружает потом необходимые файлы). После скачивания нужно запустить установщик.
Первое, что он вас спросит, будет текст лицензионного соглашения и вопрос про отправку анонимной информации. Я лично рекомендую вам не отправлять анонимные данные по ряду причин (из-за крайней паранойи).
На следующей странице спрашивается какую архитектуру вы хотите установить. Поскольку наш материал охватывает только устройства из диапазона 8-битных микроконтроллеров AVR, то это будет единственная выбранная опция. Однако, если у вас приличная скорость загрузки (у меня всего 4 Мбит/с), тогда выбор всех опций может пригодиться в будущем.
После выбора поддерживаемого устройства на следующей странице будет задан вопрос про расширения — Atmel Software Framework и примеры проектов. Убедитесь, что галочка стоит.
Следующая страница просто проверяет ваш компьютер на наличие потенциальных проблем, таких как отложенный перезапуск (из-за обновления), или если система не сможет запустить IDE. Если все проверено и ОК, жмите «Далее».
Если вы уже установили более раннюю версию AVR IDE, вы можете увидеть следующее окно. Если это так, просто нажмите «Установить».
Теперь нужно подождать пока IDE загрузит все необходимые компоненты и установит их.
После этого вам будет предложено запустить Atmel Studio 7.0. Убедитесь, что стоит галочка перед закрытием окна установки.
Как установить WINAVR
Хотя Atmel Studio 7 полезная штука для написания кода, она не самый лучший выбор, когда речь идет о программировании устройств AVR с использованием инструментов с открытым исходным кодом. Поэтому, чтобы сделать жизнь проще на этапе компиляции и/или программирования, мы будем использовать WINAVR, которая также поставляется с AVRDUDE для загрузки нашего кода на устройства Atmega. Чтобы скачать WINAVR для Windows, просто нажмите на эту ссылку и выберите исполняемый exe-файл.
После скачивания запустите установщик и просмотрите все предложенные опции, пока программа не спросит вас про место установки.
Лучшее место для установки WINAVR — это рекомендуемое расположение: C:WinAVR-20100110
. Следующая опция спросит про компоненты и вы должны убедиться, что установлены все галочки (показано ниже).
После того, как кнопка установки нажата, установщик выполнит остальную часть работы, после чего установщик закроется.
Как подключить USBASP и установить драйвер для Windows
Если вы используете Windows, вам необходимо изменить драйвер USB для USBASP. Это сделать не сложно с помощью инструмента под названием Zadig. Проще говоря:
- загрузите Zadig,
- подключите устройство USBASP к компьютеру,
- дождитесь пока Windows автоматически установит USBASP,
- запустите Zadig,
- найдите устройство USBASP в раскрывающемся списке,
- выберите драйвер libusb-win32 (v1.2.6.0).
После того, как вы нажмете «Заменить драйвер» (или Переустановить драйвер), Zadig автоматически установит драйвер, необходимый для работы USBASP в Windows.
Как настроить Atmel Studio 7 и WinAVR
Atmel Studio 7 не будет изначально использовать WINAVR или AVRDUDE, поэтому мы должны настроить её для этого. Это может показаться пугающим, но не паникуйте; для программирования устройства AVRDUDE необходима только одна строка инструкций, и только один каталог требуется определить. Фактически, вы должны быть в состоянии скопировать и вставить код в этой статье для любого проекта на базе ATMEGA168.
Итак, первый шаг — сообщить Atmel Studio 7 какой компилятор она должна использовать. Для этого откройте Atmel Studio 7 (если она еще не открыта) и нажмите: Инструменты -> Параметры (англ.: Tools -> Options).
В открывшемся окне используйте список слева, чтобы перейти к: Набор инструментов -> Конфигурация пакета (англ.: Toolchain -> Package Configuration) и в опциях, которые теперь должны быть доступны справа, выберите Atmel AVR 8-bit (язык C) (Atmel AVR 8-bit (C language)) из раскрывающегося списка, а затем нажмите: Добавить особенность (англ.: Add Flavour).
Предполагая, что вы установили WINAVR в папку по умолчанию на диске C и что у вас та же версия, что и в WINAVR, как в этой статье, во всплывающем окне мы пишем так, как показано ниже. После заполнения полей нажмите «Добавить» (англ. add), а когда вы вернетесь в предыдущее окно, нажмите «ОК».
Atmel Studio 7 теперь может использовать WINAVR для компиляции программ AVR, но все равно не может программировать устройства. Для этого нам нужно добавить внешний инструмент в Atmel Studio 7 и настроить его для устройства ATMEGA168.
Первый шаг — перейти в: Инструменты -> Внешние инструменты (англ. Tools -> External tools). Открывшееся окно — единственное окно, необходимое для работы программатора USBASP. Скрин ниже показывает большинство деталей, которые вам нужно будет заполнить.
Поле «Аргументы» (англ. Arguments) не полностью отображает всю информацию, которая необходима, и поэтому приведу ниже то, что было заполнено:
avrdude -c usbasp -p atmega168 -U lfuse:w:0x26:m -U flash:w:$(ProjectDir)Debug$(TargetName).hex:i
Большая часть информации в этом не важна для нас, кроме двух фрагментов текста. Первый — это -p atmega168;, который говорит AVRDUDE, что мы программируем ATMEGA168. Если в вашем проекте используется другой чип, замените текст atmega168 на используемое вами устройство (например, atmega88).
Второй параметр -U lfuse:w:0x26:m, который специфичен для ATMEGA168. Эта инструкция указывает AVRDUDE настроить устройство на использование внешнего кристалла, и после программирования устройство будет работать только при подключении к схеме кристалла. Обратите внимание, что это также означает, что устройству требуется кристалл при программировании. Этот аргумент будет работать только для ATMEGA168.
Создание первого проекта
Следующая задача состоит в том, чтобы создать проект на основе AVR микроконтроллера и протестировать схему, компилятор и программатор.
Сначала перейдите в: Файл -> Создать -> Проект (англ. File -> New -> Project) и в открывшемся окне выберите: Исполняемый проект GCC C (англ. GCC C Executable Project), а в текстовом поле Имя (англ. Name) дайте любое название вашему проекту.
Следующее окно, которое должно появиться, — это окно выбора устройства. Из списка выберите Atmega168. Насколько мне известно, это окно не имеет никакого смысла, так как мы все равно передаем имя устройства в AVRDUDE вручную (пока я не могу найти способ заставить Atmel Studio 7 автоматически отправлять имя устройства в AVRDUDE через аргументы).
Результатом должен стать файл main.c, содержащий код нашей программы, который будет запускать AVR. Однако сгенерированный код ничего не делает, поэтому замените все содержимое файла main.c с помощью приведенной ниже программы (обязательно сохраните файл после ввода нового кода).
#define F_CPU 800000UL // Я использую кристалл 8 МГц #include <avr/io.h> #include <avr/delay.h> int main(void){ DDRD = 0xFF; // Сделать порт D портом выхода while(1){ PORTD = 0xFF; _delay_ms(1000); PORTD = 0x00; _delay_ms(1000); } }
Теперь пришло время скомпилировать код и загрузить его на устройство AVR. Первый шаг — убедиться, что наш проект использует компилятор WINAVR. Щелкните правой кнопкой мыши проект и выберите «Дополнительно» (англ. — Advanced) в окне свойств.
В окне «Дополнительно» убедитесь, что в поле «Набор инструментов» (англ. — Toolchain Flavour) выбран WINAVR.
Сохраните проект и скомпилируйте его, нажав: Build -> Build Solution (или нажав F7). Если все идет по плану, в окне вывода должно появиться следующее сообщение:
Build succeeded. ========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Это означает, что наш проект успешно скомпилирован и готов к передаче на наш чип. Чтобы запрограммировать устройство, убедитесь, что USBASP подключен как к ПК, так и к цепи Atmega, к цепи подано питание и что к микросхеме подключен кристалл (в случае, если микросхема была настроена для использования внешнего кристалла).
Затем, после всего этого, нажмите: Инструменты -> USBASP (англ. Tools -> USBASP), и все будет работать автоматически.
Если все хорошо, светодиод в вашей цепи должен начать мигать. Ниже приведен вывод AVRDUDE в Atmel Studio 7, показывающий, как выглядит успешная программа.
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude.exe: Device signature = 0x1e9406 avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude.exe: erasing chip avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: reading input file "0x26" avrdude.exe: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.00s avrdude.exe: 1 bytes of lfuse written avrdude.exe: verifying lfuse memory against 0x26: avrdude.exe: load data lfuse data from input file 0x26: avrdude.exe: input file 0x26 contains 1 bytes avrdude.exe: reading on-chip lfuse data: Reading | ################################################## | 100% 0.00s avrdude.exe: verifying ... avrdude.exe: 1 bytes of lfuse verified avrdude.exe: reading input file "c:usersrobinlaptopDocumentsAtmel Studio7.0OurFirstAVROurFirstAVRDebugOurFirstAVR.hex" avrdude.exe: writing flash (184 bytes): Writing | ################################################## | 100% 0.11s avrdude.exe: 184 bytes of flash written avrdude.exe: verifying flash memory against c:usersrobinlaptopDocumentsAtmel Studio7.0OurFirstAVROurFirstAVRDebugOurFirstAVR.hex: avrdude.exe: load data flash data from input file c:usersrobinlaptopDocumentsAtmel Studio7.0OurFirstAVROurFirstAVRDebugOurFirstAVR.hex: avrdude.exe: input file c:usersrobinlaptopDocumentsAtmel Studio7.0OurFirstAVROurFirstAVRDebugOurFirstAVR.hex contains 184 bytes avrdude.exe: reading on-chip flash data: Reading | ################################################## | 100% 0.10s avrdude.exe: verifying ... avrdude.exe: 184 bytes of flash verified avrdude.exe: safemode: Fuses OK avrdude.exe done. Thank you.
Заключение
Начало работы с устройствами AVR может показаться несколько сложным, если вы не используете официальный программатор, который может работать «из коробки» с Atmel Studio 7. Однако в инструментах программирования требуется определить только одну командную строку (тип устройства, биты и т.п.). И все будущие проекты могут использовать один и тот же инструмент/компилятор, который нужно настроить только один раз.
Т.е. следующий проект ATMEGA168, который вы будете делать, сможет использовать тот же компилятор и внешний инструмент, что и в этом проекте и не потребуется никаких дополнительных настроек. Конечно, в более сложных проектах может потребоваться замена бит (англ. fuse), например, но в данном материале я хотел просто помочь вам освоить работу с устройствами AVR.
24 июля 2019 в 15:56
| Обновлено 7 ноября 2020 в 01:20 (редакция)
Опубликовано:
Статьи, AVR
Добавлено 17 января 2018 в 07:53
В данной статье мы соберем схемы для программирования двух разных микроконтроллеров Atmel и обсудим необходимые настройки программного обеспечения.
В данной статье будет описано построение двух очень похожих схем: одна для программирования ATmega328P, другая для программирования ATtiny45. В статье приведены полные схемы программирования, а также подробные фотографии макетов на беспаечных макетных платах. Кроме того, также приведено введение в интегрированную среду разработки Atmel Studio 7.
Во-первых, аппаратное обеспечение
ATmega328P – это 28-контактный микроконтроллер от Atmel, один из линейки AVR. Вероятно, он наиболее известен, как наиболее часто используемый микроконтроллер в отладочных платах Arduino, но AT328P способен на гораздо большее, чем то, насколько он используется в Arduino. Если вы хотите увидеть некоторые доказательства этого утверждения, посмотрите на 660-страничное техническое описание.
ATtiny45 – 8-выводный микроконтроллер, который может считаться «младшим братом» ATmega328P. Он обладает многими из тех же функций, но у него не так много контактов ввода/вывода.
Для программирования ATmega328P и ATtiny45 используется последовательный периферийный интерфейс SPI; это трехпроводная (плюс общий провод) шина, состоящая из сигналов «Выход ведущего, вход ведомого» (Master Out, Slave In – MOSI), «Вход ведущего, выход ведомого» (Master In, Slave Out – MISO) и «Тактовый сигнал» (Serial Clock – SCK). Тактовый сигнал генерируется ведущим устройством (мастером) и используется для обеспечения синхронной связи между ведущим и ведомым (или ведомыми); поэтому SPI является «синхронной» шиной связи.
Схемы программирования
Схемы программирования показаны ниже. Обратите внимание, что резистор R2 и LED1 не требуются для программирования, но включены в схемы для тестирования, что будет описано ниже.
Выбор программатора
Доступно несколько программаторов, работающих с ATmega328P и ATtiny45; Atmel-ICE находится в верхней части списка, является прекрасным программатором и будет рассмотрен в следующей статье. Пока что у нас есть менее дорогостоящие варианты, и скупым автором статьи использовался программатор Sparkfun AVR Pocket Programmer. Если вы предпочитаете что-то другое, не стесняйтесь выбирать тот, который соответствует вашим предпочтениям и вашему кошельку. Просто убедитесь, что он использует SPI интерфейс, как описано выше, и будьте готовы внести соответствующие изменения в информацию в этой статье.
ВНИМАНИЕ! Обязательно загрузите и установите на компьютер соответствующий драйвер для AVR Pocket Programmer, прежде чем подключать программатор в первый раз. Если Windows будет разрешено установить неправильный драйвер, то это будет сложно исправить. Инструкции для получения драйвера AVR Pocket Programmer приведены ниже.
AVR Pocket Programmer поставляется с шлейфовым кабелем, который должен быть подключен к микроконтроллеру Atmel. Он оснащен тремя разъемами: разъем 2×5 (мама), который вставляется в штырьковый разъем на AVR Pocket Programmer, еще один разъем 2×5 (мама) ниже на кабеле примерно через 23 см (в данной статье не используется), плюс разъем 2×3 (мама) на другом конце кабеля. Распиновка разъемов показана ниже.
Сборки схем программирования на макетных платах
На следующих фотографиях показаны сборки схем программирования ATmega328P и ATtiny45 на беспаечных макетных платах. Шесть коротких перемычек используются для подключения необходимых проводов от разъема 2×3 (мама) к соответствующим контактам микроконтроллера на макете. Обратите внимание, что цвета проводов на фотографиях соответствуют обозначениям на схемах.
Список комплектующих
Кроме нескольких перемычек, для сборки схемы программирования понадобятся следующие комплектующие.
Обозначение элемента | Описание |
---|---|
U1 | Микросхема, ATmega328P-PU, флеш 32 КБ, DIP-28, 1,8–5,5 В |
U1 | Микросхема, ATtiny45-PU, флеш 4 КБ, DIP-8, 2,7–5,5 В |
R1 | Резистор, 10 кОм, 0,25 Вт |
R2 | Резистор, 470 Ом, 0,25 Вт |
LED1 | Светодиод, T1 3/4, желтый |
C1 | Конденсатор керамический, 0,1 мкФ, 50 В |
нет | Программатор, AVR Pocket, PGM-09825 |
нет | Макетная плата, беспаечная, 400 контактов |
А теперь программное обеспечение
Драйвер программатора AVR Pocket
Драйвер Windows для программатора AVR Pocket – тот же, что используется программатором Adafruit USBTiny. Перейдите на страницу Adafruit и нажмите на ссылку для подписанного драйвера USBtinyISP, созданного с помощью libusb v1.12. Это позволит вам загрузить zip-файл, содержащий два файла installer.exe: один для 32-разрядных систем, второй для 64-разрядных. Дважды кликните по тому, что подходит для вашего компьютера с ОС Windows, и драйвер будет установлен.
Только после установки правильного драйвера Windows вы можете в первый раз подключить программатор AVR Pocket к компьютеру. Вам понадобится кабель USB-A на miniUSB-B. Когда вы подключитесь, загорится синий светодиод PWR и красный светодиод Stat1; два синих светодиода могут также загореться и/или замигать. Windows попытается найти драйвер, при необходимости, вы должны указать Windows расположение правильного драйвера. После правильной установки программатор AVR Pocket появится в диспетчере устройств в устройствах libusb-winXX как «USBtiny»; он не будет перечисляться как COM-порт. Смотрите скриншот ниже:
Atmel Studio 7
Как и многие фирмы-разработчики микроконтроллеров, Atmel имеет собственную интегрированную среду разработки (IDE), которая работает с их аппаратными предложениями: Atmel Studio 7. Хотя это не единственный способ программирования микроконтроллеров Atmel, но это наиболее полнофункциональный способ для Windows 7, 8 и 10 (и для 32-х, и для 64-х разрядных вервий); к сожалению, она не может использоваться с операционными системами Linux и Mac.
Количество опций в Atmel Studio 7 может показаться для нового пользователя огромным. Таким образом, поэтапный подход, представленный в данной статье, значительно упростит процесс знакомства. Начните с загрузки и установки IDE на ваш компьютер. Руководство пользователя Studio 7 и большое количество дополнительной информации также доступны для загрузки.
В Studio 7 включена поддержка нескольких аппаратных программаторов, но точный выбор зависит от того, какой микроконтроллер Atmel вы собираетесь использовать. На скриншоте ниже справа перечислены программаторы, поддерживающие ATmega328P.
Как вы можете видеть, программатор AVR Pocket отсутствует в списке. Однако его всё еще можно использовать с Studio 7 с помощью программного обеспечения под названием AVRDude.
AVRDude
AVRDude – это утилита командной строки, которая используется для скачивания и загрузки данных с микроконтроллеров Atmel. Существуют версии, доступные и на Linux, и на Windows. На момент написания статьи последняя доступная версия – 6.3; ее можно скачать здесь. Пользователи Windows должны скачать avrdude-6.3-mingw32-zip (нажатие на ссылку запустит скачивание zip-файла!), распаковать файлы и установить AVRDude. Обратите внимание, что установка программы в корневой каталог диска необязательна, но упростит ее использование с Atmel Studio 7. Если доступна версия, более новая, чем 6.3, то вы можете установить ее по своему усмотрению. Руководство пользователя AVRDude доступно здесь.
Чтобы проверить правильность установки и работы AVRDude, выполните следующие действия:
- нажмите кнопку «Пуск» Windows;
- в поле поиска введите cmd и нажмите Enter. Откроется окно командной строки DOS;
- в командной строке перейдите в каталог, в котором установили AVRDude;
- введите
avrdude -c USBtiny
и нажмите Enter. Если всё хорошо, AVRDude вернет список поддерживаемых устройств Atmel.
Смотрите скриншот ниже для примера процедуры. Обратите внимание, что скриншот был усечен и отображает только часть списка поддерживаемых устройств Atmel.
Собираем всё вместе
Предположим, что программатор подключен к AVR на вашей макетной плате, как было описано выше, и вы почти готовы запрограммировать ваш AVR микроконтроллер. Для примера воспользуемся простым примером мигания светодиодом.
//New Blink.c
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB |= 0b00000001;
while (1) {
PORTB = 0b00000001;
_delay_ms(500);
PORTB = 0b00000000;
_delay_ms(500);
}
return 0;
}
Теперь следуйте следующим инструкциям:
- Запустите Atmel Studio 7.
- В стартовом окне слева нажмите New Project. Откроется окно нового проекта.
Стартовое окно Atmel Studio 7 - В окне нового проекта нажмите GCC C Executable Project, назовите проект New Blink, как показано выше, и нажмите OK. Откроется окно выбора устройства Device Selection.
Окно выбора устройства Device Selection - В окне выбора устройства выберите AVR устройство, которое вы используете: ATmega328P или ATtiny45, как показано ниже. Нажмите OK. Будет создан новый проект, и будет открыто окно проекта New Blink.
Окно проекта New Blink - Нажмите на меню Tools, выберите External Tools…, и нажмите кнопку Add.
- В поле Title введите название инструмента, которой создаете; хорошо, если название описывает устройство. Например, вы можете ввести комбинацию названия программатора и названия устройства.
- В поле Comand введите путь к месту, куда установили AVRDude, плюс команду для запуска AVRDude.
- В поле Arguments введите одну из двух следующих строк, в зависимости от AVR контроллера, который используете.
Для ATmega328P введите:-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i
Для ATtiny45 введите:
-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i
- В поле Initial directory введите путь к месту, куда установили AVRDude.
- Убедитесь, что поставлена галочка Use Output window, а в двух других чекбоксах галочки не стоят. Состояние окна должно быть похоже на скриншот ниже, но с учетом AVR контроллера, который вы используете.
Окно добавления внешнего инструмента - Нажмите Apply, а затем OK. Окно внешних инструментов должно закрыться.
- Скопируйте код программы, приведенный выше.
- Перейдите к окну New Blink.c в окне Atmel Studio 7 и вставьте в него код, приведенный выше.
Код программы - Если в правом верхнем углу Atmel Studio 7 не открыто окно менеджера проекта Solution Explorer, нажмите на выпадающее меню View и нажмите Solution Explorer. В правом верхнем углу должно появиться окно Solution Explorer.
- Кликните правой кнопкой на main.c и выберите «переименовать». Переименуйте файл main.c в New Blink.c.
- Нажмите на меню File и нажмите Save All.
- Нажмите на меню Build и нажмите Build Solution (собрать проект).
- Нажмите на меню Tools (инструменты) и нажмите на название инструмента, созданного в шагах с 5 по 11. Скомпилированный код New Blink должен будет быть загруже в AVR контроллер на вашей макетной плате, а светодиод LED1 должен начать мигать: ½ секунды включен, ½ секунды выключен, 60 раз в минуту.
Начало
По общему мнению, это был долгий процесс для простого мигания светодиода, но на самом деле вы успешно устранили четыре основных препятствия: создание аппаратной платформы для программирования микроконтроллеров AVR, установка интегрированной среды разработки Atmel Studio 7, интеграция внешней программы AVRDude и определение инструмента программирования для AVR микроконтроллера по вашему выбору. Будьте уверены, что в будущих проектах на AVR микроконтроллерах вам станет легче, что намного веселее.
Теги
ATmegaATmega328PAtmel StudioATtinyAVRAVRDUDEMCUМакетная платаМикроконтроллерПрограммирование
23 / 23 / 7 Регистрация: 04.11.2011 Сообщений: 566 Записей в блоге: 1 |
|
1 |
|
19.04.2016, 15:30. Показов 9570. Ответов 5
Может кто встречался с такой проблемой, устанавливаю Atmel Studio 7, на Ос win 7 x32, при запуске пишет что не хватает каких то компонентов, перед этим установил на другой ноут с Win10 пошло без проблем а перед этим ещё на другой win 7 x32, тоже без проблем, весь день гуглил нечего толком не нашёл Миниатюры
__________________
0 |
1961 / 1275 / 130 Регистрация: 04.01.2010 Сообщений: 4,607 |
|
19.04.2016, 16:05 |
2 |
generation472, погуглите общие ошибки по работе приложений в Винде. 99% из них не работает при условии длинных путей к файлам (в частности с пробелами), путей русскими буквами и имен пользователя русскими буквами. Иногда и ПК желательно называть кириллицей. Ну, и папка temp желательно должна быть тоже с коротким путем доступа, без русских букв.
1 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
19.04.2016, 17:44 |
3 |
generation472, Неоднократно ставил, удалял, опять ставил. Обратил внимание, что при установке студия докачивает что то из инета, был ли доступ в интернет при установки?
1 |
23 / 23 / 7 Регистрация: 04.11.2011 Сообщений: 566 Записей в блоге: 1 |
|
20.04.2016, 08:08 [ТС] |
4 |
Витальич, да был, я ставил офлайн версию и веб одно и тоже
0 |
8385 / 6147 / 615 Регистрация: 10.12.2010 Сообщений: 28,683 Записей в блоге: 30 |
|
07.11.2019, 00:08 |
5 |
Блин такая же проблема. Никто не нашел решение?
0 |
0 / 0 / 0 Регистрация: 21.11.2019 Сообщений: 1 |
|
21.11.2019, 01:10 |
6 |
Есть такой вариант решения : снести отдельно VS2015 (она ставится месте с Atmel Studio-7), потом запустить ещё раз инсталлятор Atmel Studio-7 и выбрать предлагаемый режим «Repair», после этого «as-installer» установит всё,что нужно ему для работы от VS2015. У меня помогло и больше на компоненты не ругалось.
0 |