====== Arenduskeskkond CodeBlocks käsitsi seadistamine ====== Järgnev juhend kirjeldab AVR arenduskeskkonna seadistamist, juhul kui ei kasutata Kodulabori eelkompileeritud paigalduspaketti. ===== Tarkvara paigaldamine ===== Vaja on paigaldada järgnev tarkvarakomplekt: **1. CodeBlocks ** CodeBlocks on IDE (inglise keeles //Integrated Development Environment//), milles toimub tarkvara kirjutamine ja mikrokontrollerisse laadimine. **2. ATMEL AVR Toolchain** AVR Toolchain on GNU-GCC kompilaator AVR mikrokontrolleritele. See on vabavara, mille leiab Atmeli veebilehelt. **3. Kodulabori teek** Kodulabori teek sisaldab programmi lihtsustavaid funktsioone AVR ja Kodulabori komplekti osade kasutamiseks. Teegi viimase versiooni leiab Kodulabori veebilehelt. **4. DFU-Programmer** DFU-Programmeri kaudu saab programmeerida Kodulabor III seeria kontrollerit kasutades sellel olevat buudilaadurit. ---- === CodeBlocks paigaldus === Järgnev juhend kirjeldab Kodulabor III (Kontroller v1 - ATxmega128A1U) arenduskeskkonna paigaldamist ja kasutamist Windows operatsioonisüsteemis. Esimese asjana paigaldatakse CodeBlocks tarkvara. CodeBlocks pluginate paigaldamine ei ole vajalik. {{ :et:examples:setup:codeblocks:1_cb_install.png?400 |}} Järgnevalt valida CodeBlocksile sobiv asukoht. Kõik näited on toodud asukohaga //C:\HomelabCB// {{ :et:examples:setup:codeblocks:2_cb_dir.png?400 |}} Seejärel paigaldatakse CodeBlocks tarkvara === Kodulabori lisade paigaldus === Pärast CodeBlocksi paigaldamist paigaldada lisad: AVR Toolchain, Kodulabori teek, DFU-Programmer Kõigepealt tuleks valida kaust, kuhu paigaldati CodeBlocks tarkvara, sest kõik lisad paigaldatakse samasse kausta. {{ :et:examples:setup:codeblocks:3_homelab_dir.png?400 |}} ===== CodeBlocks seadistamine ===== Esimesel käivitamisel küsitakse kompilaatorite asukohta. Sealt võib valida //*No Compiler*//, sest kompilaatori valik seadistatakse hiljem käsitsi üle ning on seotud projektiga. {{ :et:examples:setup:codeblocks:4_cb_firstrun.png?400 |}} Seejärel tuleks ära seadistada kompilaator. Selleks tuleks liikuda menüüdes //Settings -> Compiler...//. Avanenud aknas tuleks seadistada järgmised read: Jälgida, et oleks valitud **GNU GCC Compiler for AVR** ning näidata, kuhu paigaldati tarkvara. Juhul, kui paigaldati mujale, kui C:\HomelabCB, tuleks teha ka vastavad muudatused ise. {{ :et:examples:setup:codeblocks:5_cb_compiler1.png?400 |}} {{ :et:examples:setup:codeblocks:6_cb_compiler2.png?400 |}} {{ :et:examples:setup:codeblocks:7_cb_compiler3.png?400 |}} {{ :et:examples:setup:codeblocks:8_cb_compiler4.png?400 |}} Seejärel tuleb seadistada programmaator, et oleks võimalik koodi peale laadida otse CodeBlocks keskkonnast. Selleks tuleb menüüs leida //Tools -> Configure tools...// ning sealt vajutada //Add//. Avanenud aknasse kirjutada vastavalt kasutatavale kodulaborile järgmised read: ** Kodulabor III puhul ** * Homelab III * C:\HomeBlocks\Programmer\Program.bat * "C:\HomeBlocks\Programmer" "${TARGET_OUTPUT_BASENAME}.hex" * ${TARGET_OUTPUT_DIR} {{ :et:examples:setup:codeblocks:9_cb_tool.png?400 |}} ** Kodulabor II (ATmega2561) puhul ** * Homelab 2561 * C:\HomelabCB\Programmer\HL Flash\hlflash.exe * ${TARGET_OUTPUT_BASENAME}.hex * ${TARGET_OUTPUT_DIR} {{ :et:examples:setup:codeblocks:9_cb_tool_2561.png?400 |}} ** Kodulabor I (ATmega128) puhul ** * Homelab I * "$(CODEBLOCKS)\Programmer\Avrdude\avrdude.exe" * -p m128 -c jtagmkI -P **COM9** -e -U flash:w:${TARGET_OUTPUT_BASENAME}.hex * ${TARGET_OUTPUT_DIR} {{ :et:examples:setup:codeblocks:9_cb_tool_128.png?400 |}} \\ Kindel **COM** pordi number tuleb järgi vaadata Device Manager aknast. Igal masinal võib see number erineda. {{ :et:examples:setup:codeblocks:com_port.png?400 |}} ===== Linux/Ubuntu seadistamine ===== Paigaldada Codeblocks lisad: sudo apt-get install codeblocks-contrib dfu-programmer-i tavakasutaja õigustes käivitamiseks on vaja luua udev reeglite fail Genereerida ruled.d kataloogi fail sisuga: SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="03eb",ATTRS{idProduct}=="*",GROUP="plugdev" Samuti on vaja paigaldada teek. Tüüpiliselt asuvad avr-i teegid kausta /usr/lib/avr Sinna kausta uute teekide lisamiseks on vaja administraatori õigusi. Juhul kui AVR Toolchain ei ole repositooriumites veel uuendatud, siis võib ADC funktsioon anda veateate. Selle ellimineerimiseks võib käsitsi asendada avr kaustas oleva iox128a1u.h faili (sisaldub teegis). Programmeerimise lihtsustamiseks võib luua järgmise batch faili: sudo nano /usr/bin/homelab-programmer faili sisuks kopeerida: #!/bin/bash dfu-programmer atxmega128a1u erase dfu-programmer atxmega128a1u flash $1 dfu-programmer atxmega128a1u start loodud failile anda käivitamise õigused: sudo chmod 775 /usr/bin/homelab-programmer Codeblocks //Tools->Configure tools ...// Seadistada programmaator järgmiselt. {{ :et:examples:setup:codeblocks:codeblokcs_programmer_linux.png?400 |}} Lisada projekti teegi tugi //Settings -> Compiler ...// {{ :et:examples:setup:codeblocks:compiler_path.png?400 |}} {{ :et:examples:setup:codeblocks:linker_path.png?400 |}} ==== Linux/Ubuntu 14.04 seadistamine Kodulabor II ==== Kodulabor II kasutab tarkvara peale laadimiseks hlflash nimelist programmi. Selle paigaldamiseks toimida järgmiselt: wget http://home.roboticlab.eu/_media/et/examples/setup/homelab-keyring.gpg.zip; unzip homelab-keyring.gpg.zip; rm homelab-keyring.gpg.zip sudo add-apt-repository http://roboticlab.eu/repo/ubuntu/ sudo nano /etc/apt/sources.list # Muuta versiooniks precise: deb http://roboticlab.eu/repo/ubuntu/ precise main sudo apt-key add homelab-keyring.gpg sudo apt-get update sudo apt-get install hlflash && sudo apt-get install hlinit ===== CodeBlocks projekti loomine ===== Projekti loomine käib menüüst //File->New->Project//. Sealt tuleks valida vastavalt Kodulabori versioonile projekt ning konfigureerida see vastavalt soovile. Kõigepealt valida projektile nimi ning asukoht. **Vältida täpitähtede kasutamist.** {{ :et:examples:setup:codeblocks:10_project1.png?400 |}} Seejärel valida projekti kompileerimiskaust. Soovitatav jätta selleks, mis on. {{ :et:examples:setup:codeblocks:11_project2.png?400 |}} Seejärel valida mikrokontroller ning kasutatav taktsagedus. {{ :et:examples:setup:codeblocks:12_cb_project3.png?400 |}} Viimaseks tuleks määrata ära //AVR Toolchain//i installatsioonikataloog. {{ :et:examples:setup:codeblocks:13_cb_project4.png?400 |}} ===== CodeBlocks kasutamine ===== Kui projekt on loodud, ilmub vasakule projektipuusse uus projekt koos näitekoodiga. Kompileerimine käib CodeBlocksis ülal real olevate hammasratta ikoonidega. Kui kompilatsioon õnnestub kuvatakse all //Build Log// aknas kasutatud programmimälu maht ning ebaõnnestumise korral errorid. {{ :et:examples:setup:codeblocks:14_cb_compile.png?400 |}} Programmi peale laadimiseks, tuleb Kodulabor III kontrolleril käivitada buudilaadur hoides all S0 nuppu ja tehes kontrollerile reset. Varasemate Kodulaboritega seda teha vaja ei ole. Kui vajalikud draiverid on paigaldatud (Draiverid asuvad CodeBlocks/Programmer kaustas), siis saab kompileeritud hex faili peale laadida. Selleks tuleb käivitada programmaator menüüst //Tools//. {{ :et:examples:setup:codeblocks:15_cb_programming.png?400 |}}