This is an old revision of the document!
Следующее руководство описывает установку и использование среды разработки AVR для Ubuntu 9.10 операционной системы на примере ATMega128 платформы.
Установить следующее программное обеспечение:
1. Пакеты программного обеспечения для Linux
Для инсталляции используйте строку приказа терминала:
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, куда mispeale kuvatakse projekti seadistamise aken avatuna Common-kaardil. Määrata protsessoriks (CPU) ATmega128, taktsageduseks (clock) 14745600,0 Hz ning loodavate HEX ja MAP failide nimed. Vajutades nuppu Set as default, määrab see hetkeseadistused KontrollerLabis ka kõikide edaspidi loodavate projektide seadistusteks. Kuna sõltumata projektist jääb kodulabori riistvara samaks, siis on mõttekas määratagi sisestatud parameetrid vaikimisi parameetriteks. Samas jäävad ka KontrollerLabi poolt loodavate väljundfailide (HEX, MAP) nimed samaks. Siinkohal on kaks võimalust: igas projektis muuta HEX faili nime või panna mingi universaalsem nimi (nt out.hex), mis sobiks kõikidele projektidele. Hetkel on võetud teine variant, nii et projekti vahetamisel ei pea väljundfailide nimesid muutma.
NB! Поскольку в программе KontrollerLab нельзя корректно добавить библиотеку на Linker карту, то необходимо настроить добавление библиотеки Домашней Лаборатории здесь, написав конце map файла -lhomelab .
Compiler kaardil määrata kompilaatori seaded, nagu näidatud juuresoleval pildil. Enne OK vajutamist määrata siin sisestatud parameetrid vaikimisi seadeteks.
4. Määrata programmaatori seaded, valides menüü Project → Configure Programmer. Choose Programmer-kaardil valida AVRDUDE ning AVR DUDE kaardil määrata programmaatori tüübiks jtagmkI ja ühendusliideseks eelnevalt leitud port /dev/ttyUSBx (vt. programmaatori peatükki). Määrata ka siin vastavad parameetrid vaikimisi seadeteks.
5. Määrata tekstiredaktori seaded nii, et tabulaatorit tõlgendataks 4 tühikuna. See on vajalik, kui juhtutakse lähtefaili avama mõne muu tekstiredaktoriga, mis tõlgendab tabulaatorit teisiti kui KontrollerLab. Sel juhul võib koodi liigendus muutuda, nii et inimese jaoks on kood raskesti jälgitav. Selleks, et seda ei juhtu, valida menüü Settings → Configure Editor ja avanenud aknas vasakult Editing. Märgi linnuke kasti “Insert spaces instead of tabulators” sisse. Samuti määra tabulaatori laiuseks 4 tühikut.
6. Seadista avanenud alamaknad KontrollerLabis oma käe järgi ning kirjuta mingi lihtne programm keskkonna testimiseks. Järgnevas alampeatükis on näitena toodud vilkuva LED programm.
Kui arenduskeskkond on esimest korda paigaldatud ja seadistatud, on mõistlik testida, kas kõik sai tehtud õigesti. Selleks on lihtsaim viis teha üks väike programm, see ära kompileerida ja laadida kontrollerisse.
1. Ühendada programmaator ATmega128 Kontrollerimooduli plaadiga. Kontrollida, et programmaator saab ühendatud õigesse pistikusse (JTAG) ja õigetpidi (kaabel on suunatud kontrolleri plaadist eemale - vaata järgmist pilti). Pärast programmaatori ühendamist ühendada kontrolleri toide (kontrollerplaadil peab süttima väike roheline oleku-LED).
2. Sisestada lihtne C-kood ja kompileerida see (compile).
#include <avr/io.h> #include <homelab/delay.h> int main(void) { // Viigu PB7 seadmine väljundiks DDRB = 0x80; // Lõputu tsükkel while (true) { // Viigu PB7 inverteerimine PORTB ^= 0x80; hw_delay_ms(500); } }
Veendu, et väljundaknasse tuleb teade “File compiled successfully”. Kui annab teate “Error(s) occurred: ”, siis kontrollida, et koodi sisestamisel ei ole tehtud mõnda kirjaviga.
3. Koodi pealelaadimiseks valida ignite käsk. Kui kõik õnnestub, siis väljundaknas viimase reana annab KontrollerLab teate “Project built and uploaded successfully”. Kontrolli, et oleku-LED hakkaks perioodiliselt vilkuma (500 ms põleb, 500 ms on kustund).
Kui LED vilgub, nii nagu eespool kirjeldatud, on tarkvara paigaldatud edukalt ja esimene labor läbitud. Palju õnne!
Mõnikord tekib vajadus AVR programmis kasutada ujukoma-arve. Nendega arvutamiseks ja nende esitamiseks printf-tüüpi funktsioonidega tuleb projekti seadistustes teha järgmised muudatused:
1. Avada projekti seaded menüüst Project → Configure Project ning valida Linker kaart. Märgistada Linker flags sektsioonis esimene linnuke (vaata ka juuresolevat pilti).
2. Vajutada OK ja sulgeda seadete aken.