NB! Руководство по установки новой версии (ATmega2561) находится здесь
В ниже приведенном руководстве описывается установка среды разработки AVR для операционной системы Windows, используя платформу разработки AVR Studio-t.
Перед установкой программного обеспечения необходимо добыть нижеследующее программное обеспечение, с сайта производителя или сайта Домашней Лаборатории или с диска находящегося в чемодане Домашней Лаборатории.
1. AVR Studio
AVR Studio 4 IDE (inglise keeles Integrated Development Environment) – это программа, которая предназначена для написания программного кода и загрузки его в микроконтроллер. Последняя версия AVR Studio находится на веб-сайте производителя Atmel.
2. WinAVR
WinAVR является GNU-GCC компилятором для микроконтроллеров AVR. Это свободное программное обеспечение, которое можно найти на сайте Sourceforge. При инсталляции WinAVR предлагает имя каталога, которое также содержит номер версии, но директория должна быть изменена вручную:
C:\WinAVR
3. Библиотека Домашней Лаборатории
Библиотека Домашней Лаборатории содержит функции, облегчающие использование AVR и устройств комплекта Домашней Лаборатории. Последняя версия библиотеки находится на сайте Домашней Лаборатории. Библиотека должна быть обязательно установлена в том же каталоге, где WinAVR.
4. Драйвер виртуального COM порта
Драйвер позволяет подключить к компьютеру программатор JTAG ICE. Драйвер должен быть установлен до подключения к компьютеру программатора. Имя установочной программы 'CDM x.xx.xx.exe», где «х» обозначает версию. Затем необходимо подключить программатор к компьютеру через USB интерфейс, и позволить Windows выполнит автоматическую установку. В строке состояния должно появиться примерно такое сообщение:
В зависимости от того, сколько виртуальных последовательных портов на вашем компьютере уже установлено и введено в эксплуатацию, Windows автоматически установит следующий порядковый номер виртуального порта. Новый порядковый номер генерируется и при смене порта USB. Некоторые версии AVR Studio признают программатор ICE JTAG, только в последовательных портах COM1 … COM9 и функцию отладки позволяют использовать только последовательные порты COM1 … COM4. Пользователь имеет возможность изменить порядковый номер порта, использую инструмент Device Manager. Посмотри процедуру на сайте.
Для написания AVR программы, необходимо создать новый проект, который обычно включает в себя много различных файлов: программный код (ы), файлы заголовков и компилированные программы т.д. Для того чтобы проекты корректно различались, необходимо для каждого проекта создавать новый каталог.
Для создания проекта необходимо пройти следующие этапы:
1. Открыть AVR Studio и нажать кнопку новый проект (New Project). Если окно не открывается автоматически, выберите из меню Project - New project. Затем нажмите кнопку Next.
2. Откроется окно, в котором необходимо обозначить начальные настройки компилятора и файлов. В качестве компилятора выберите AVR GCC и в правом окне введите имя проекта и имя исходного файла. Имя исходного файла должно обязательно иметь расширение “.c“. Необходимо так же указать каталог, где будет создаваться соответствующий каталог проекта. После выбора, нажмите кнопку Next.
NB! Если при выборе компилятора отсутствует AVR GCC , то WinAVR установлен неправильно и это необходимо сделать до того, как писать программу на языке Си.
3. Далее открывается окно, в котором отмечается платформа, используемая для отладки типа микроконтроллера. В Домашней Лаборатории используется в качестве платформы для отладки JTAG ICE ICE программатор и микроконтроллер ATmega128. Для создания проекта нажми кнопку Finish.
4. Далее открывается уже пользовательский интерфейс программирования, куда можно начать писать новый исходный код программы.
5. Перед компиляцией кода, необходимо определить настройки проекта. Наиболее важными параметрами является тактовая частота контроллера и метод оптимизации компилятора. Тактовая частота контроллера Домашней лаборатории 14,7456 МГц (14745600 Гц). Частоту необходимо установить в свойствах проекта в Гц (не МГц) в окне Project → Configuration Options → General. Метод оптимизации должен остаться -Os, если нет необходимости использовать другие методы.
6. Для использования домашней лаборатории библиотека функций программного обеспечения должны быть установлены правильно. При каждом проекте необходимо из настроек Project → Configuration Options → Libraries добавить из списка нужную библиотеку проекта.
Если объект libhomelab.a отсутствует в списке, то библиотека Домашней Лаборатории установлена неправильно.
После установки среды разработки в первый раз желательно проверить, все ли было сделано правильно. Простейший способ - это написать короткую программу, скомпилировать ее и загрузить в контроллер.
1. 1. Подключите программатор с платой ATmega128. При подключении проверьте, чтобы программатор был подключен в правильное гнездо (JTAG) (смотри следующее фото). После программатора подключите к плате контроллера питания (если источник питания подключен правильно, то должен загореться маленький зеленый светодиод).
#include <avr/io.h> #include <homelab/delay.h> int main(void) { // Настройка вывода PB7 выходом DDRB = 0x80; // Бесконечный цикл while (true) { // Инвертирование вывода PB7 PORTB ^= 0x80; hw_delay_ms(500); } }
Скомпилировать программу приказом Build (клавиша F7). Убедитесь в том, что компиляция удалась. Для этого должно появиться следующее сообщение:
Build succeeded with 0 Warnings...
2. Откройте окно загрузки кода с помощью Tools → Program AVR → Auto Connect. В результате должно открыться окно загрузки скомпилированного файла в микроконтроллер. Убедитесь, чтобы открытой была карта Program.
Если приведенное выше окно не открывается и появляется окно Connection Failed, то отсутствует связь с программатором. Сначала необходимо убедиться, что на микроконтроллер приходит питание и подключен правильно программатор (к разъему JTAG подключен кабелей в правильном направлении). Если с этим все в порядке, то необходимо проверить какой номер СОМ порта назначил Windows для программатора. Если номер больше чем 9, то программное обеспечение может не найти его и порту нужно назначить меньший порядковый номер.
3. В окне программатора введите в Flash-секцию текстовое поле Input HEX File скомпилированный файл. Вы можете сделать это нажатием кнопки “…”. Скомпилированный файл обычно находится в подкаталоге проекта default и имеет такое же имя, как и проект, но с расширением “.hex“, к примеру, „labor1.hex“. После выбора правильного файла, нажмите на кнопку Program, который загрузит выбранную программу в контроллер. Если все удалось, то в нижней части окна среды программирования появится следующее сообщение:
OK Reading FLASH input file.. OK Setting device parameters for jtag programming ..OK Entering programming mode.. OK Erasing device.. OK Programming FLASH .. OK Reading FLASH .. OK FLASH contents is equal to file.. OK Leaving programming mode.. OK
Под влиянием программы на плате контроллера должен периодически загораться и гаснуть индикатор состояния PB7. Если программа работает, то программное обеспечение удачно установлено и первый проект сделан. Поздравляем!
Отладкой программы (на английском языке debugging) называется поиск ошибок в программе. Для этого созданы отдельные средства – отладчики (на английском языке debugger), которые позволяют выполнять программу от шага к шагу, останавливаясь в желательных для этого местах. Такое выполнение программы позволяет в каждой фазе программы контролировать значение переменных, содержание регистров и порядок выполнения программы. Наиболее важно использование отладки при сложных программах, где часто поиск ошибки затруднен. Для использования отладчика нужны прежде всего два условия: используемый микроконтроллер должен поддерживать отладку и необходимо программное обеспечение поддерживаемое отладку – JTAG программатор. Более дешевые программаторы, которые используют интерфейс программирования ISP, позволяют загружать в контроллер скомпилированную программу, но не позволяют её отладку.
Для запуска программы с AVR Studio в режиме отладки необходимо сначала её скомпилировать кнопкой Build (клавиша F7) и запустить скомпилированную программу приказом Run (клавишей F5). В программный код можно заранее добавить в желаемые места пункты прерывания (на английском языке break point) (клавиша F9). Когда выполнение программы дойдет до пункта прерывания, остановиться работа программы, позволяя таким образом выяснить состояние микроконтроллера при достижении в этот пункт. Выполнение программы можно заново возобновить приказом Run или приказом Step Into (клавиша F11).
Иногда возникает необходимость в программе AVR использовать чисел с плавающей запятой. Для их вычисления и представления функцией printf типа необходимо в настройках проекта сделать следующие изменения:
1. Откройте настройки проекта из меню Project → Configuration Options. На карте настроек Libraries, куда добавлен объект libhomelab.a библиотеки Домашней Лаборатории, добавить файлы libprintf_flt.a и libm.a.
2. Затем необходимо открыть карту Custom Options и выбрать секцию [All files]. В правой ячейке добавить строки “-lprintf_flt” и “-lm”. В секцию [Linker Options] добавить строчку “-uvfprintf”.
3. Нажмите ОК и закройте окно настройки.