Среда разработки KontrollerLab (для Linux) ATmega128

Следующее руководство описывает установку и использование среды разработки AVR для Ubuntu 9.10 операционной системы на примере ATMega128 платформы.

Установка программного обеспечения

Установить следующее программное обеспечение:

1. Пакеты программного обеспечения для Linux

  • gcc-avr – GNU компилятор на языке Си для платформы AVR
  • avrdude – программа для загрузки hex файла в микроконтроллер
  • avr-libc – библиотека языка Си для написания кода для платформы AVR

Для инсталляции используйте строку приказа терминала:

sudo apt-get install gcc-avr avrdude avr-libc

или графическое программное обеспечение (к примеру, программное обеспечение Ubuntu или Synaptic).

2. Библиотека Домашней Лаборатории

Библиотека упрощает написание программного кода, т.к. функции низкого уровня уже написаны в ней. Для инсталляции библиотеки необходимо сохранить на компьютер файл с именем Homelab library vX.X.run с веб-сайта Домашней Лаборатории, где заместо X.X номер версии, и запустить её следующим приказом:

sudo sh homelab_library_vX.X.run

Убедитесь, что загрузка и установка библиотеки Домашней Лаборатории удалась.

3. KontrollerLab

KontrollerLab - это IDE (inglise keeles integrated development environment) или интегрированная среда разработки для написания программного обеспечения, компиляции, загрузки и т.п. Сохраните пакет программного обеспечения KontrollerLab в папку (к примеру ~/Dokumendid/AVR/KontrollerLab/) и в окне терминала запустите приказ в этой папке:

sudo dpkg -i kontrollerlab*.deb

Если у вас возникла проблема из-за отсутствия пакетов, то запустите следующий приказ, который установит недостающие пакеты:

sudo apt-get install –f

Подключение программатора

Подключите программатор к компьютеру и убедитесь, что компьютер распознает его. Написать в окне терминала команду lsusb, которая показывает список подключенных устройств USB. Имя программатора - “Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC”.

Чтобы найти порт, к которому подключен программатор, проверьте /dev каталог с помощью команды cd /dev (определяет /dev как активный каталог) и dir (отображает содержимое каталога). Поскольку дело обстоит с последовательным интерфейсом USB, то обозначен как ttyUSBx, где x означает номер интерфейса. Если ранее не было подключено никаких других устройств серии USB, то его номер будет 0.

 

Создание проекта

Для написания AVR программы, необходимо создать новый проект, который обычно включает в себя много различных файлов: программный код (ы), файлы заголовков и компилированные программы т.д. Для того чтобы проекты корректно различались, необходимо для каждого проекта создавать новый каталог.

Для создания проекта необходимо пройти следующие этапы:

1. Открыть KontrollerLab (Rakendused → Programmeerimine → KontrollerLab) и выбрать из верхнего меню File → New → New project. Открывается окно, где нужно указать месторасположение и в графу Location вписать имя файла проекта. В приведенном примере создан отдельный каталог ../Homelab/blinkingLED/, где содержаться отдельно все файлы программы примера (мигающий LED).

2. Поскольку проект изначально пуст, то к нему необходимо добавить C-файл, куда можно было бы написать код. Выбрать меню File → New → New. Открывается окно добавления файла, где необходимо выбрать C source и назначить имя файла.

3. Настроить проект KontrollerLabi в соответствии с аппаратным обеспечением Домашней Лаборатории. Выбрать меню Project → Configure Project, из-за чего окно настройки проекта Common отображается открытым. Назначить процессором (CPU) ATmega128, тактовой частотой - (clock) 14745600,0 Hz и задать названия создаваемых HEX и MAP файлов. При нажатии кнопки Set as default, эти конфигурации устанавливаются используемыми по умолчанию для всех новых проектов. В связи с тем, что аппаратное обеспечение остаётся тем же самым вне зависимости от проекта, имеет смысл сделать введённые параметры параметрами по умолчанию. Так как названия выходных файлов (HEX, MAP), создаваемых KontrollerLab, остаются теми же, стоит выбирать для них универсальное название (напр. out.hex), которое подходило бы ко всем проектам.

NB! Поскольку в программе KontrollerLab нельзя корректно добавить библиотеку на карту Linker , то необходимо настроить добавление библиотеки Домашней Лаборатории здесь, написав в конце map файла -lhomelab .

 

Настроить установки компилятора на карте Compiler, как указано на приложенном изображении. Перед нажатием OK назначить введённые здесь параметры установками по умолчанию.

4. Настроить программатор, выбрав меню Project → Configure Programmer. На карте Choose Programmer выбрать AVRDUDE и на карте AVR DUDE указать тип программатора jtagmkI и соединительным портом, ранее найденный /dev/ttyUSBx (см. главу программаторов). Назначить и здесь соответствующие параметры установками по умолчанию.

 

5. Установить параметры текстового редактора так, чтобы табуляция определялась 4 пропусками. Это нужно для того, чтобы при открытии исходного файла другим текстовым редактором, он был прочитан так же как и в KontrollerLab. В меню следует выбрать Settings → Configure Editor и слева в открывшемся окне - Editing, отметить галочкой “Insert spaces instead of tabulators”, так же установить ширину табуляции - 4 пропуска.

6. Настроить открывшиеся окна в KontrollerLab по своему усмотрению и прописать какую-либо лёгкую программу для тестирования среды. В следующей главе приведён пример программы мигающего LED-а.

 

Тестирование установок

Если среда разработки установлена и налажена в первый раз, то имеет смысл протестировать, всё ли было выполнено правильно. Самый лёгкий способ для этого - создать маленькую программу, откомпилировать её и загрузить в контроллер.

1. Присоединить программатор с платой модуля контроллера ATmega128. Проверить, что программатор подключен в правильную розетку и (JTAG) и верно (кабель направлен в сторону от платы контроллера - см. следующее изображение). После подключения программатора следует подключить источник питания (на плате контроллера должен зажечься маленький зелёный LED состояния).

2. Ввести простой код Си и скомпилировать его (compile).

#include <avr/io.h>
#include <homelab/delay.h>
 
int main(void)
{
	// Настройка вывода PB7 выходом
	DDRB = 0x80;
 
	// Бесконечный цикл
	while (true)
	{
		// Инвертирование вывода PB7
		PORTB ^= 0x80;
		hw_delay_ms(500);
	}
}
Панель инструментов

Убедиться, что в окне выхода появится сообщение “File compiled successfully”. Если будет сообщение “Error(s) occurred: ”, следует проверить, чтобы при введении кода не было сделано ошибок.

3. Для загрузки кода выбрать приказ ignite. Если всё получится, то в окне выхода последней строкой KontrollerLab выдаст сообщение “Project built and uploaded successfully”. Проверить, что LED состояния начал мигать с периодичностью (500 ms горит, 500 ms гаснет).

Если LED мигает, так как описано ранее, программное обеспечение установлена успешно и первая лабораторная работа выполнена. Поздравляем!

Использование чисел с плавающей запятой

Иногда в программе AVR может потребоваться использование чисел с плавающей запятой. Для их вычисления и использования с функциями типа printf следует в настройках проекта совершить следующие изменения:

1. Открыть в меню настройки проекта Project → Configure Project и выбрать карту Linker. Отметить в секции Linker flags первую галочку (см. приложенное изображение).

2. Нажать OK и закрыть окно настроек.

ru/examples/setup/linux.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0