Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:setup:windows:v5 [2011/01/25 22:16] raivo.sellet:examples:setup:windows:v5 [2020/07/20 09:00] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
-====== Tarkvara Windowsi keskkonnas (v5) ======+====== Arenduskeskkond AVR Studio (WindowsATmega2561 ======
  
 Järgnev juhend kirjeldab Kodulabori versioon 5 (Kontroller v1 - ATmega2561) arenduskeskkonna paigaldamist ja kasutamist Windows operatsioonisüsteemis. Järgnev juhend kirjeldab Kodulabori versioon 5 (Kontroller v1 - ATmega2561) arenduskeskkonna paigaldamist ja kasutamist Windows operatsioonisüsteemis.
Line 16: Line 16:
  
   C:\WinAVR   C:\WinAVR
- 
-**__NB! kodulabori teek hetkel veel valmimisel!!__** 
  
 **3. Kodulabori teek** **3. Kodulabori teek**
  
-Kodulabori teek sisaldab programmi lihtsustavaid funktsioone AVR ja Kodulabori komplekti osade kasutamiseks. Teegi viimase versiooni leiab Kodulabori veebilehelt. Teek tuleb kindlasti installeerida samasse kataloogi, kus on WinAVR.+Kodulabori teek sisaldab programmi lihtsustavaid funktsioone AVR ja Kodulabori komplekti osade kasutamiseks. Teegi viimase versiooni leiab Kodulabori veebilehelt. Teek tuleb kindlasti installeerida samasse kataloogi, kus on WinAVR. ATmega2561 kontrolleriga varustatud Kodulabori (Controller board v1.x) jaoks on sobiv homelab_library_v2.x. 
 +{{:software:homelab_library_v2.1.exe|Homelab library v2.1}}
  
 **4. JTAG liides** **4. JTAG liides**
  
 JTAG liides - HappyJTAG2 on liides programmaatori ja AVR Studio vahele. Tarkvara on pakitud zip failiks ja piisab selle lahtipakkimisest soovitud kataloogi näiteks C:\WinAVR (tarkvara eraldi paigaldada ei ole vaja) JTAG liides - HappyJTAG2 on liides programmaatori ja AVR Studio vahele. Tarkvara on pakitud zip failiks ja piisab selle lahtipakkimisest soovitud kataloogi näiteks C:\WinAVR (tarkvara eraldi paigaldada ei ole vaja)
 +{{:software:happyjtag2_for_homelab.zip|HappyJTAG2 for HomeLab}}
  
 **5. Programmaatori ajur** **5. Programmaatori ajur**
Line 46: Line 46:
 **1.** Avada AVR Studio ja vajutada nupule uus projekt (//New Project//). Juhul kui vastav aken automaatselt ei avane, valida menüüst //Project - New project//. Pärast sobivat sisestust vajutada nupule //Next//. **1.** Avada AVR Studio ja vajutada nupule uus projekt (//New Project//). Juhul kui vastav aken automaatselt ei avane, valida menüüst //Project - New project//. Pärast sobivat sisestust vajutada nupule //Next//.
  
-{{  :examples:install:windows:studio_welcome.png?400  |}}+{{  :software:avrstudio:avrstudio_newproject0.png?400  |}}
  
 **2.** Avaneb aken, kus tuleb märkida kompilaatori ja failide algseaded. Kompilaatoriks valida AVR GCC ja paremas akna osas sisestada projekti nimi ning algkoodi faili nimi. Algkoodi faili nimi peaks kindlasti lõppema laiendiga ".c". Aknas on võimalik veel märkida valikud automaatseks projekti nimega kataloogi ja algkoodi faili tekitamiseks. Mõlemad valikud on mõistlik ära märkida. Samuti tuleks näidata kataloog, kuhu vastav projektikataloog tekitatakse. Pärast valikute tegemist vajutada nupule //Next//. **2.** Avaneb aken, kus tuleb märkida kompilaatori ja failide algseaded. Kompilaatoriks valida AVR GCC ja paremas akna osas sisestada projekti nimi ning algkoodi faili nimi. Algkoodi faili nimi peaks kindlasti lõppema laiendiga ".c". Aknas on võimalik veel märkida valikud automaatseks projekti nimega kataloogi ja algkoodi faili tekitamiseks. Mõlemad valikud on mõistlik ära märkida. Samuti tuleks näidata kataloog, kuhu vastav projektikataloog tekitatakse. Pärast valikute tegemist vajutada nupule //Next//.
Line 52: Line 52:
 NB! Kui kompilaatori valikus puudub AVR GCC, siis ei ole WinAVR korrektselt paigaldatud ja seda tuleks enne C-keele programmi kirjutamist kindlasti teha. NB! Kui kompilaatori valikus puudub AVR GCC, siis ei ole WinAVR korrektselt paigaldatud ja seda tuleks enne C-keele programmi kirjutamist kindlasti teha.
  
-{{  :examples:install:windows:studio_new_project.png?400  |}}+{{  :software:avrstudio:avrstudio_newproject1.png?400  |}}
  
-**3.** Järgnevalt avaneb aken, kus tuleb märkida kasutatav silumise platvorm ja mikrokontrolleri tüüp. Kodulaboris (v5) on silumise platvormina kasutusel //JTAG mkII// programmaator ja mikrokontrolleriks on //ATmega2561//. Projekti lõplikuks loomiseks vajutada nupule //Finish//.+**3.** Järgnevalt avaneb aken, kus tuleb märkida kasutatav silumise platvorm ja mikrokontrolleri tüüp. Kodulaboris (v5) on silumise platvormina kasutusel //JTAGICE mkII// programmaator ja mikrokontrolleriks on //ATmega2561//. Projekti lõplikuks loomiseks vajutada nupule //Finish//.
  
-{{  :examples:install:windows:studio_project_programmer.png?400 |}}+{{  :software:avrstudio:avrstudio_newproject2.png?400 |}}
  
 **4.** Nüüd avaneb juba programmeerimise kasutajaliides, kuhu saab hakata kirjutama programmi lähtekoodi. **4.** Nüüd avaneb juba programmeerimise kasutajaliides, kuhu saab hakata kirjutama programmi lähtekoodi.
  
-{{  :examples:install:windows:studio_overview.png?500  |}}+{{  :software:avrstudio:avrstudio_newproject3.png?500  |}}
  
-~~PB~~+<pagebreak>
  
 **5.** Enne koodi kompileerimist tuleb määrata projekti seaded. Olulisemad seaded on kontrolleri taktsagedus ja kompilaatori optimeerimismeetod. Kodulabori kontrolleri taktsagedus on 14,7456 MHz ehk 14745600 Hz. See sagedus tuleb hertsides määrata //Project -> Configuration Options -> General// aknas. Optimeerimise meetodiks jätta -Os, kui ei ole konkreetset vajadust teiste meetodite järgi. **5.** Enne koodi kompileerimist tuleb määrata projekti seaded. Olulisemad seaded on kontrolleri taktsagedus ja kompilaatori optimeerimismeetod. Kodulabori kontrolleri taktsagedus on 14,7456 MHz ehk 14745600 Hz. See sagedus tuleb hertsides määrata //Project -> Configuration Options -> General// aknas. Optimeerimise meetodiks jätta -Os, kui ei ole konkreetset vajadust teiste meetodite järgi.
  
-{{  :examples:install:windows:studio_project_properties_general.png?400  |}} +{{  :software:avrstudio:avrstudio_newproject4.png?400  |}}
- +
-**__NB! Hetkel ei ole uus teek veel saadaval!!!__**+
  
 **6.** Kodulabori teegi kasutamine AVR Studio-ga eeldab, et see on tarkvara paigaldamise juhendi kohaselt süsteemi paigaldatud. Iga projekti korral tuleb teek projekti seadetest //Project -> Configuration Options -> Libraries// lisada lingitavate objektide nimekirja. **6.** Kodulabori teegi kasutamine AVR Studio-ga eeldab, et see on tarkvara paigaldamise juhendi kohaselt süsteemi paigaldatud. Iga projekti korral tuleb teek projekti seadetest //Project -> Configuration Options -> Libraries// lisada lingitavate objektide nimekirja.
  
-{{  :examples:install:windows:studio_project_properties_libraries.png?400  |}}+{{  :software:avrstudio:avrstudio_newproject5.png?400  |}}
  
 Kui objekt //libhomelab2561.a// nimekirjast puudub, siis ei ole Kodulabori teek korrektselt süsteemi paigaldatud.  Kui objekt //libhomelab2561.a// nimekirjast puudub, siis ei ole Kodulabori teek korrektselt süsteemi paigaldatud. 
  
-~~PB~~+<pagebreak>
  
 ===== Seadistuste testimine ===== ===== Seadistuste testimine =====
Line 89: Line 87:
  
 Testida võib kahte erinevat koodi. Esimene neist kasutab Kodulabori teeki, teine teeb sama asja ilma teegita. Testida võib kahte erinevat koodi. Esimene neist kasutab Kodulabori teeki, teine teeb sama asja ilma teegita.
- 
-**__NB! Testimiseks kasutage teist näided, seniks kuni uus kodulabori teek on valmis!!!__** 
  
 <code c> <code c>
Line 115: Line 111:
 //Lihtne testprogramm, mis ei kasuta Kodulabori teeki. //Lihtne testprogramm, mis ei kasuta Kodulabori teeki.
 #include <avr/io.h> #include <avr/io.h>
 + 
 int main(void) int main(void)
 { {
 + unsigned int x,y;
  // Viigu PB7 seadmine väljundiks  // Viigu PB7 seadmine väljundiks
  DDRB = 0x80;  DDRB = 0x80;
 + 
  // Lõputu tsükkel  // Lõputu tsükkel
- while (true)+ while (1)
  {  {
  // Viigu PB7 inverteerimine  // Viigu PB7 inverteerimine
  PORTB ^= 0x80;  PORTB ^= 0x80;
- while(32000--){  + y=3200; 
-    x=2600;+ while(y--){  
 +    x=260;
     while(x--){     while(x--){
     asm volatile ("nop");     asm volatile ("nop");
Line 134: Line 132:
  }  }
 } }
 +
 </code> </code>
  
Line 143: Line 142:
   Build succeeded with 0 Warnings...   Build succeeded with 0 Warnings...
  
-~~PB~~+<pagebreak>
  
 **4.** Avada koodi laadimise aken nupust //Tools -> Program AVR -> Auto Connect//. Tulemuseks peaks avanema kompileeritud faili mikrokontrollerisse laadimise aken. Kontrollige, et avatud oleks kaart //Program//. **4.** Avada koodi laadimise aken nupust //Tools -> Program AVR -> Auto Connect//. Tulemuseks peaks avanema kompileeritud faili mikrokontrollerisse laadimise aken. Kontrollige, et avatud oleks kaart //Program//.
Line 168: Line 167:
 Programmi mõjul peaks kontrolleri plaadil olev oleku-LED PB7 perioodiliselt süttima ja kustuma. Kui programm töötab, on tarkvara paigaldatud edukalt ja esimene projekt tehtud. Palju õnne! Programmi mõjul peaks kontrolleri plaadil olev oleku-LED PB7 perioodiliselt süttima ja kustuma. Kui programm töötab, on tarkvara paigaldatud edukalt ja esimene projekt tehtud. Palju õnne!
  
-{{:kit:kit_test.jpg?400|}}+{{:kit:kit_2561_test.jpg?400|}}
  
 ===== Siluri kasutamine ===== ===== Siluri kasutamine =====
  
-[{{  :examples:install:windows:studio_debugger_io_view.png?280|ATmega128 registrite loetelu siluris}}]+[{{  :examples:install:windows:studio_debugger_io_view.png?280|ATmega registrite loetelu siluris}}]
  
 Programmi silumiseks (inglise keeles //debugging//) nimetatakse vigade otsimist programmist. Selleks on loodud eraldi vahendid - silurid (inglise keeles //debugger//), mis võimaldavad programmi täita samm-sammult, peatades seda soovitud kohtades. Selline programmi täitmine võimaldab igas programmi faasis kontrollida muutujate väärtusi, registrite sisusid ja programmi täitmise järjekorda. Eriti oluline on silumise võimaluse kasutamine keerukamate programmide juures, kus vea põhjust on tihti keeruline otsida. Mikrokontrollerite puhul on veel oluline, et tarkvara samm-sammult täitmine toimub reaalselt kontrolleris ja võimaldab nii lisaks registrite väärtuste vaatamisele näha ka reaalsete väljundite muutumist. Siluri kasutamiseks on eelkõige vaja kahte tingimust: kasutatav mikrokontroller peab silumist toetama ja peab olema silumist toetav riistvara - JTAG programmaator. Odavamad programmaatorid, mis kasutavad ISP programmeerimise liidest, võimaldavad laadida kontrollerisse kompileeritud programmi, kuid ei võimalda silumist. Programmi silumiseks (inglise keeles //debugging//) nimetatakse vigade otsimist programmist. Selleks on loodud eraldi vahendid - silurid (inglise keeles //debugger//), mis võimaldavad programmi täita samm-sammult, peatades seda soovitud kohtades. Selline programmi täitmine võimaldab igas programmi faasis kontrollida muutujate väärtusi, registrite sisusid ja programmi täitmise järjekorda. Eriti oluline on silumise võimaluse kasutamine keerukamate programmide juures, kus vea põhjust on tihti keeruline otsida. Mikrokontrollerite puhul on veel oluline, et tarkvara samm-sammult täitmine toimub reaalselt kontrolleris ja võimaldab nii lisaks registrite väärtuste vaatamisele näha ka reaalsete väljundite muutumist. Siluri kasutamiseks on eelkõige vaja kahte tingimust: kasutatav mikrokontroller peab silumist toetama ja peab olema silumist toetav riistvara - JTAG programmaator. Odavamad programmaatorid, mis kasutavad ISP programmeerimise liidest, võimaldavad laadida kontrollerisse kompileeritud programmi, kuid ei võimalda silumist.
et/examples/setup/windows/v5.1295993818.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
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