CUSTOMELECTRONICS.RU
Информационно-учебный блог о разработке электроники
Эл. почта: info@customelectronics.ru

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

Описание настройки среды программирования, установки драйверов и загрузка первой программы в память микроконтроллера.

Установка AVR Studio

Atmel Studio — официальная среда для программирования AVR-микроконтроллеров. Она распространяется бесплатно на официальном сайте. К сожалению, она работает только под Windows. Скачайте и установите последнюю версию.

Установка драйвера

Для обучения мы предлагаем вам использовать Arduino-совместимую плату. Все примеры мы приводим применительно к нашей плате EduBoard. Достоинство такого подхода в том, что вам не понадобится использование программатора и, тем более, травить платы, паять МК, искать источник питания и т.д.
На плате EduBoard установлен микроконтроллер и в его памяти уже есть одна программа — bootloader. Эта программа находится в конце памяти микроконтроллера. При запуске микроконтроллера она проверяет, не передается ли по необходимому протоколу основная программа. Если это так, то бутлоадер вычитывает данные и записывает их в память. После этого МК снова перезагружается.
Загрузка прошивки при помощи бутлоадера возможна по любому интерфейсу. В EduBoard это COM-порт. Для перезагрузки применяется сигнал RTS, а программа загружает через UART.
В современных компьютерах редко встречается COM-порт, поэтому на плате установлен переходник USB-to-COM на основе микросхемы FT232RL. Эта микросхема определяется в системе как COM-порт. Таким образом можно просто подключить плату к USB-порту и вы получите возможность обновлять программу микроконтроллера.
Производитель FT232RL с некоторых пор стал активно бороться с поддельными микросхемами, которых расплодилось огромное количество и никто не защищен от подделки, покупая даже у надежных поставщиков. Поэтому мы настаиваем на использовании версии 2.08.28 драйвера, который точно работает со всеми чипами. Все свои платы мы проверяем именно с этим драйвером. Скачайте его у нас, а не с сайта производителя! Еще раз: ссылка для скачивания проверенного драйвера ЗДЕСЬ!
После того, как драйвер скачан, установите перемычки так, как показано на рисунке.

Установка перемычек

Установка перемычек

В таком положении перемычек плата питается от USB-порта, а перепрограммирование разрешено.
Далее подключите плату к USB-порту ПК. Компьютер найдет неизвестное устройство. Просто запустите скачанный файл и он сам все установит. После этого в диспетчере устройств появится новый COM-порт:
COM

Установка утилиты для загрузки программы

В AVR Studio вы будете компилировать программы, бутлоадер будет их принимать. Осталось только установить программу, которая будет передавать скомпилированный машинный код в COM-порт.
Существует много программ. Они не требуют установки. Мы предпочитаем использовать ArduinoUploader. В архиве есть exe-файл. Утилита не требует установки.
ArduinoUploader

Интерфейс этой программы очень прост. Необходимо выбрать номер COM-порта, микроконтроллер (Atmega8) и указать hex-файл для загрузки.

Первая прошивка

На плате EduBoard (как и на большинстве Arduino-совместимых плат) установлен пользовательский светодиод, подключенный к 13му выводу. Для проверки того, что все настроено и работает корректно напишем программу, мигающую этим светодиодом.
Запустите Atmel Studio и на стартовой странице выберите пункт меню New Project:
Window1
В следующем окне выберите тип проекта GCC C Executable Project. Задайте имя проекта — Blink, выберите расположение — C:\AVRProject\FirstProject и снимите галочку Create directory for solution.
Window2
Далее выберите тип микроконтроллера. У нас это Atmega8A.
Window3
В окне редактора кода введите следующую программу:

#include <avr/io.h>
#define F_CPU 16000000UL //16MHz
#include <util/delay.h>

int main(void) {
	DDRB  |= 1<<5;
	PORTB &= ~1<<5;
	while(1) {
		PORTB |= 1<<5;
		_delay_ms(100);
		PORTB &= ~1<<5;
		_delay_ms(100);
	}
}

… и нажмите Build->Build Solution.

Window4

Вы увидите, что в папке C:\AVRProject\FirstProject\Blink\Debug будет создан набор выходных файлов, в том числе Blink.hex.
Запустите ArduinoUploader, укажите ему этот файл, выберите COM-порт к которому подключена плата и микроконтроллер (у нас Atmega8). Нажмите кнопку «Upload». Если все сделано правильно, то ваша программа будет загружена в память МК и он начнет мигать светодиодом с частотой 5Гц:

Мы будем очень рады, если вы поддержите наш ресурс и посетите магазин наших товаров shop.customelectronics.ru.

Метки: , , , Просмотров: 11249