Both sides previous revisionPrevious revisionNext revision | Previous revision |
ru:examples:setup:linux [2013/08/23 09:59] – eduardtlmk | ru:examples:setup:linux [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
sudo sh homelab_library_vX.X.run | sudo sh homelab_library_vX.X.run |
| |
Убедись, что загрузка и установка библиотеки Домашней Лаборатории удалась. | Убедитесь, что загрузка и установка библиотеки Домашней Лаборатории удалась. |
| |
**3. KontrollerLab** | **3. KontrollerLab** |
| |
KontrollerLab это IDE (inglise keeles //integrated development environment//) или интегрированная среда разработки для написания программного обеспечения, компиляции, загрузки и т.п. Сохраните пакет программного обеспечения KontrollerLab в папку (к примеру //~/Dokumendid/AVR/KontrollerLab///) и в окне терминала запустите приказ в этой папке: | KontrollerLab - это IDE (inglise keeles //integrated development environment//) или интегрированная среда разработки для написания программного обеспечения, компиляции, загрузки и т.п. Сохраните пакет программного обеспечения KontrollerLab в папку (к примеру //~/Dokumendid/AVR/KontrollerLab///) и в окне терминала запустите приказ в этой папке: |
| |
sudo dpkg -i kontrollerlab*.deb | sudo dpkg -i kontrollerlab*.deb |
| |
Если у вас возникла проблема из отсутствия пакетов, то запустите следующий приказ, который установит недостающие пакеты: | Если у вас возникла проблема из-за отсутствия пакетов, то запустите следующий приказ, который установит недостающие пакеты: |
| |
sudo apt-get install –f | sudo apt-get install –f |
===== Подключение программатора ===== | ===== Подключение программатора ===== |
| |
Подключите программатор к компьютеру и убедитесь, что компьютер распознает его. Написать в окне терминала команду //lsusb//, которая показывает список подключенных устройств USB. Имя программатора, это - "Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC". | Подключите программатор к компьютеру и убедитесь, что компьютер распознает его. Написать в окне терминала команду //lsusb//, которая показывает список подключенных устройств USB. Имя программатора - "Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC". |
| |
{{ :kit:002_lsbusb.png?400 |}} | {{ :kit:002_lsbusb.png?400 |}} |
{{ :kit:003_ttyusb0.png?400 |}} | {{ :kit:003_ttyusb0.png?400 |}} |
| |
~~PB~~ | <pagebreak> |
| |
===== Создание проекта ===== | ===== Создание проекта ===== |
{{ :kit:005_new_file_kontrollerlab.png?400 |}} | {{ :kit:005_new_file_kontrollerlab.png?400 |}} |
| |
**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. | **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 //. | NB! Поскольку в программе KontrollerLab нельзя корректно добавить библиотеку на карту // Linker //, то необходимо настроить добавление библиотеки Домашней Лаборатории здесь, написав в конце map файла // -lhomelab //. |
| |
{{ :kit:006_project_conf_common.png?400 |}} | {{ :kit:006_project_conf_common.png?400 |}} |
| |
~~PB~~ | <pagebreak> |
| |
//Compiler// kaardil määrata kompilaatori seaded, nagu näidatud juuresoleval pildil. Enne //OK// vajutamist määrata siin sisestatud parameetrid vaikimisi seadeteks. | Настроить установки компилятора на карте //Compiler//, как указано на приложенном изображении. Перед нажатием //OK// назначить введённые здесь параметры установками по умолчанию. |
| |
{{ :kit:007_project_conf_compiler.png?400 |}} | {{ :kit:007_project_conf_compiler.png?400 |}} |
| |
**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. | **4.** Настроить программатор, выбрав меню //Project -> Configure Programmer//. На карте //Choose Programmer// выбрать AVRDUDE и на карте AVR DUDE указать тип программатора //jtagmkI// и соединительным портом, ранее найденный ///dev/ttyUSBx// (см. главу программаторов). Назначить и здесь соответствующие параметры установками по умолчанию. |
| |
{{ :kit:008_programmer_conf.png?400 |}} | {{ :kit:008_programmer_conf.png?400 |}} |
| |
~~PB~~ | <pagebreak> |
| |
**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. | **5.** Установить параметры текстового редактора так, чтобы табуляция определялась 4 пропусками. Это нужно для того, чтобы при открытии исходного файла другим текстовым редактором, он был прочитан так же как и в KontrollerLab. В меню следует выбрать //Settings -> Configure Editor// и слева в открывшемся окне - //Editing//, отметить галочкой "Insert spaces instead of tabulators", так же установить ширину табуляции - 4 пропуска. |
| |
{{ :kit:009_editor_conf.png?400 |}} | {{ :kit:009_editor_conf.png?400 |}} |
| |
**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. | **6.** Настроить открывшиеся окна в KontrollerLab по своему усмотрению и прописать какую-либо лёгкую программу для тестирования среды. В следующей главе приведён пример программы мигающего LED-а. |
| |
{{ :kit:010_kontrollerlab.png?500 |}} | {{ :kit:010_kontrollerlab.png?500 |}} |
| |
~~PB~~ | <pagebreak> |
| |
===== Seadistuste testimine ===== | ===== Тестирование установок ===== |
| |
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). | **1.** Присоединить программатор с платой модуля контроллера ATmega128. Проверить, что программатор подключен в правильную розетку и (JTAG) и верно (кабель направлен в сторону от платы контроллера - см. следующее изображение). После подключения программатора следует подключить источник питания (на плате контроллера должен зажечься маленький зелёный LED состояния). |
| |
{{ :kit:kit_test.jpg?400 |}} | {{ :kit:kit_test.jpg?400 |}} |
| |
**2.** Sisestada lihtne C-kood ja kompileerida see (//compile//). | **2.** Ввести простой код Си и скомпилировать его (//compile//). |
| |
<code c> | <code c> |
int main(void) | int main(void) |
{ | { |
// Viigu PB7 seadmine väljundiks | // Настройка вывода PB7 выходом |
DDRB = 0x80; | DDRB = 0x80; |
| |
// Lõputu tsükkel | // Бесконечный цикл |
while (true) | while (true) |
{ | { |
// Viigu PB7 inverteerimine | // Инвертирование вывода PB7 |
PORTB ^= 0x80; | PORTB ^= 0x80; |
hw_delay_ms(500); | hw_delay_ms(500); |
</code> | </code> |
| |
[{{ :kit:011_compile_ignite.png?300 |Tööriistariba}}] | [{{ :kit:011_compile_ignite.png?300 |Панель инструментов}}] |
| |
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. | Убедиться, что в окне выхода появится сообщение "File compiled successfully". Если будет сообщение "Error(s) occurred: ", следует проверить, чтобы при введении кода не было сделано ошибок. |
| |
**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). | **3.** Для загрузки кода выбрать приказ //ignite//. Если всё получится, то в окне выхода последней строкой KontrollerLab выдаст сообщение "Project built and uploaded successfully". Проверить, что LED состояния начал мигать с периодичностью (500 ms горит, 500 ms гаснет). |
| |
Kui LED vilgub, nii nagu eespool kirjeldatud, on tarkvara paigaldatud edukalt ja esimene labor läbitud. | Если LED мигает, так как описано ранее, программное обеспечение установлена успешно и первая лабораторная работа выполнена. |
Palju õnne! | Поздравляем! |
| |
===== Ujukoma-arvude kasutamine ===== | ===== Использование чисел с плавающей запятой ===== |
| |
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: | Иногда в программе AVR может потребоваться использование чисел с плавающей запятой. Для их вычисления и использования с функциями типа //printf// следует в настройках проекта совершить следующие изменения: |
| |
**1.** Avada projekti seaded menüüst //Project -> Configure Project// ning valida //Linker// kaart. Märgistada //Linker flags// sektsioonis esimene linnuke (vaata ka juuresolevat pilti). | **1.** Открыть в меню настройки проекта //Project -> Configure Project// и выбрать карту //Linker//. Отметить в секции //Linker flags// первую галочку (см. приложенное изображение). |
| |
{{ :kit:012_linker_fprintf.png?400 |}} | {{ :kit:012_linker_fprintf.png?400 |}} |
| |
**2.** Vajutada //OK// ja sulgeda seadete aken. | **2.** Нажать //OK// и закрыть окно настроек. |