| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| et:examples:setup:linux [2010/02/12 15:59] – mikk.leini | et:examples:setup:linux [2020/07/20 09:00] (current) – created - external edit 127.0.0.1 |
|---|
| ====== Tarkvara Linuxi keskkonnas ====== | ====== Arenduskeskkond KontrollerLab (Linuxi) ATmega128 ====== |
| |
| Järgnev juhend kirjeldab AVR arenduskeskkonna installeerimist ja kasutamist Ubuntu 9.10 operatsioonisüsteemis. | Järgnev juhend kirjeldab AVR arenduskeskkonna installeerimist ja kasutamist Ubuntu 9.10 operatsioonisüsteemis. |
| |
| Veendu, et Kodulabori teegi allalaadimine ja paigaldamine õnnestus. | Veendu, et Kodulabori teegi allalaadimine ja paigaldamine õnnestus. |
| |
| ~~PB~~ | |
| |
| **3. KontrollerLab** | **3. KontrollerLab** |
| Kui tekib probleeme paketisõltuvuses, siis käivitada järgnev käsk, mis paigaldab puuduvad paketid: | Kui tekib probleeme paketisõltuvuses, siis käivitada järgnev käsk, mis paigaldab puuduvad paketid: |
| |
| apt-get install –f | sudo apt-get install –f |
| |
| {{ :kit:001_kontrollerlab_installer.png?500 |}} | {{ :kit:001_kontrollerlab_installer.png?400 |}} |
| | |
| ~~PB~~ | |
| |
| ===== Programmaatori ühendamine ===== | ===== Programmaatori ühendamine ===== |
| Ühendada programmaator arvutiga ning kontrollida, kas arvuti tunneb seadme ära. Terminali aknasse kirjutada käsk //lsusb//, mis näitab nimekirja ühendatud USB seadmetest. Programmaatori nimi on "Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC". | Ühendada programmaator arvutiga ning kontrollida, kas arvuti tunneb seadme ära. Terminali aknasse kirjutada käsk //lsusb//, mis näitab nimekirja ühendatud USB seadmetest. Programmaatori nimi on "Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC". |
| |
| {{ :kit:002_lsbusb.png?500 |}} | {{ :kit:002_lsbusb.png?400 |}} |
| |
| Saamaks teada, millise pordi taha on programmaator ühendatud, kontrollida ///dev// kataloogi, kasutades käske //cd /dev// (määrab ///dev// kui aktiivse kataloogi) ja //dir// (kuvab kataloogi sisu). Kuna tegu on USB-Serial liidesega, siis on ta märgitud //ttyUSBx//-na, kus x märgib liidese numbrit. Kui eelnevalt ei ole mingeid teisi USB-serial seadmeid ühendatud, siis on see number 0. | Saamaks teada, millise pordi taha on programmaator ühendatud, kontrollida ///dev// kataloogi, kasutades käske //cd /dev// (määrab ///dev// kui aktiivse kataloogi) ja //dir// (kuvab kataloogi sisu). Kuna tegu on USB-Serial liidesega, siis on ta märgitud //ttyUSBx//-na, kus x märgib liidese numbrit. Kui eelnevalt ei ole mingeid teisi USB-serial seadmeid ühendatud, siis on see number 0. |
| |
| {{ :kit:003_ttyusb0.png?500 |}} | {{ :kit:003_ttyusb0.png?400 |}} |
| |
| ~~PB~~ | <pagebreak> |
| |
| ===== Projekti loomine ===== | ===== Projekti loomine ===== |
| **1.** Avada KontrollerLab (//Rakendused -> Programmeerimine -> KontrollerLab//) ning valida ülevalt menüüst //File -> New -> New project//. Avaneb aken, kus tuleb määrata projekti asukoht ning //Location//-väljale kirjutada projektifaili nimi. Toodud näites on loodud eraldi kataloog //../Homelab/blinkingLED///, kus hoitakse kõik näiteprogrammi (vilkuva LED) jaoks loodavad failid eraldi. | **1.** Avada KontrollerLab (//Rakendused -> Programmeerimine -> KontrollerLab//) ning valida ülevalt menüüst //File -> New -> New project//. Avaneb aken, kus tuleb määrata projekti asukoht ning //Location//-väljale kirjutada projektifaili nimi. Toodud näites on loodud eraldi kataloog //../Homelab/blinkingLED///, kus hoitakse kõik näiteprogrammi (vilkuva LED) jaoks loodavad failid eraldi. |
| |
| {{ :kit:004_new_project_kontrollerlab.png?500 |}} | {{ :kit:004_new_project_kontrollerlab.png?400 |}} |
| | |
| ~~PB~~ | |
| |
| **2.** Kuna projekt on esialgu tühi, siis tuleb sellele juurde lisada C-fail, kuhu koodi saaks kirjutada. Valida menüü //File -> New -> New//. Avaneb faili lisamise aken, kus valida //C source// ja määrata faili nimi. | **2.** Kuna projekt on esialgu tühi, siis tuleb sellele juurde lisada C-fail, kuhu koodi saaks kirjutada. Valida menüü //File -> New -> New//. Avaneb faili lisamise aken, kus valida //C source// ja määrata faili nimi. |
| |
| {{ :kit:005_new_file_kontrollerlab.png?500 |}} | {{ :kit:005_new_file_kontrollerlab.png?400 |}} |
| |
| **3.** Seadistada KontrollerLabi projekt vastavalt Kodulabori riistvarale. Valida menüü //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.** Seadistada KontrollerLabi projekt vastavalt Kodulabori riistvarale. Valida menüü //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! Kuna KontrollerLab programmis ei saa korrektselt teeki lisada // Linker // kaardil, siis tuleb Kodulabori teegi lisamine seadistada siin, kirjutades map faili nime taha // -lhomelab //. | NB! Kuna KontrollerLab programmis ei saa korrektselt teeki lisada // Linker // kaardil, siis tuleb Kodulabori teegi lisamine seadistada siin, kirjutades map faili nime taha // -lhomelab //. |
| |
| {{ :kit:006_project_conf_common.png?500 |}} | {{ :kit:006_project_conf_common.png?400 |}} |
| | |
| | <pagebreak> |
| |
| //Compiler// kaardil määrata kompilaatori seaded, nagu näidatud juuresoleval pildil. Enne //OK// vajutamist määrata siin sisestatud parameetrid vaikimisi seadeteks. | //Compiler// kaardil määrata kompilaatori seaded, nagu näidatud juuresoleval pildil. Enne //OK// vajutamist määrata siin sisestatud parameetrid vaikimisi seadeteks. |
| |
| {{ :kit:007_project_conf_compiler.png?500 |}} | {{ :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.** 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. |
| |
| {{ :kit:008_programmer_conf.png?500 |}} | {{ :kit:008_programmer_conf.png?400 |}} |
| | |
| | <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.** 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. |
| |
| {{ :kit:009_editor_conf.png?500 |}} | {{ :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.** 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. |
| |
| {{ :kit:010_kontrollerlab.png?500 |}} | {{ :kit:010_kontrollerlab.png?500 |}} |
| | |
| | <pagebreak> |
| |
| ===== Seadistuste testimine ===== | ===== Seadistuste testimine ===== |
| **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.** Ü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). |
| |
| {{ :kit:kit_test.jpg?500 |}} | {{ :kit:kit_test.jpg?400 |}} |
| |
| **2.** Sisestada lihtne C-kood ja kompileerida see (//compile//). | **2.** Sisestada lihtne C-kood ja kompileerida see (//compile//). |
| </code> | </code> |
| |
| [{{ :kit:011_compile_ignite.png?408 |Tööriistariba}}] | [{{ :kit:011_compile_ignite.png?300 |Tööriistariba}}] |
| |
| 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. | 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. |
| **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.** Avada projekti seaded menüüst //Project -> Configure Project// ning valida //Linker// kaart. Märgistada //Linker flags// sektsioonis esimene linnuke (vaata ka juuresolevat pilti). |
| |
| {{ :kit:012_linker_fprintf.png?500 |}} | {{ :kit:012_linker_fprintf.png?400 |}} |
| |
| **2.** Vajutada //OK// ja sulgeda seadete aken. | **2.** Vajutada //OK// ja sulgeda seadete aken. |
| |