Sākt strādāt ar kādu mikročipu var būt diezgan biedējoši. Pirmais, par ko vairums uztrauksies- - kur iegūt informāciju un dokumentāciju, kurā būtu atbildēts uz jautājumu: "Kā iegūt darbojošos AVR programmu?".
Š oreiz mēģināsim atrisināt šo jautājumu, lai tālākajā ceļojumā jums jau būtu pamats zem kājām. Kā arī uzsāksim apmācību bez savu līdzekļu tērēšanas, jo mums tak ir krīze. Viss, kas būs vajadzīgs ir dators ar jebkādu Windows operētājsistēmu un interneta pieslēgums, lai varētu lejupielādēt vajadzīgos failus, Tas viss jums ir pieejams, ja jau varat izlasīt šo rakstu.
Sagatavojam savu PC AVR apgūšanai
Kas mums ir vajadzīgs? Sāksim ar to, ka lejupielādēsim visu vajadzīgo, arī to, kas būs nepieciešams vēlāk. Protams, vajadzētu saglabāt dokumentus, kas būs nepieciešami lasīšanai turpmāk, lai tie vienmēr būtu pie rokas, nevis jāmeklē kur tad īsti atradās tas un tas. Lai vēlāk būtu vieglāk savākt galus - iesaku izveidot atsevišķu mapi, piemēram, AVR un tajā arī saglabāt visus saistītos failus. Es izveidoju uz C diska šādu mapi AVR un turpmāk tajā atradīsies viss, kas lejupielādēts un saistīts ar AVR izstrādi, programmēšanu utt.
Sākam ar AVR STUDIO 4 lejupielādi. Sī programma ietver sevī visu, kas nepieciešams, lai sāktu saprasties ar AVR saimes mikročipiem. Tajā ir iekļauts gan simulators, gan redaktors (ar tā palīdzību tiek mainīts programmas kods).
Lejupielādējam un instalējam šādā secībā: AVR Studio 4, AVR Studio 4 SP 1, AVR Studio SP2.
Nākošais, ar ko aizpildam sava cietā diska neizmantoto vietu ir:
samplecode.asm (lejuplādējām šeit) - šeit atrodams kods, kas būs nepieciešams tālāk,
Doc2512.pdf (lejuplādējam šeit) - AT90S8515 datasheet, šo µC izmantosim mūsu mācību procesā,
Doc0856.pdf (lejuplādējam šeit) - instrukciju komplekts, noderīga lasāmviela tiem, kas vēlas uzzināt sīku un detalizētu aprakstu par kādu konkrētu komandu/instrukciju.
AVR saimes arhitektūra:

Ko daram tālāk? Protams, ka izmantojam lejupielādētos AVR Studio 4 instalācijas failus un uzstādām šo programmu uz sava datora. Atceramies, ka instalējam šādā secībā - 1. AVR Studio 4, 2. AVR Studio 4 SP 1, 3. AVR Studio SP2. Kad sākam instalēšanu, der atcerēties kur un ko mēs instalējam, kādā mapē. Tā kā es jau iepriekš izveidoju AVR mapi uz C diska, tad tajā arī instalēšu.
Kad programma uzstādīta, mūsu īpašumā ir viss vajadzīgais, lai sāktu rakstīt programmas AVR saimes mikročipiem.

Pamatzināšanas par AVR
AVR ir moderna mikrokontrolleru/mikročipu arhitektūra, kas radīta, kā jau minēju, 1996. gadā. Kad būs saprasti pamati, tad tikai sāksies pats interesantākais, jo varēsiet patstāvīgi izpētīt un izglītoties dziļāk šajā jomā.
AVR mikrokontrolleri tiek iedalīti 3 grupās:
- tinyAVR,
- AVR (Classic AVR),
- megaAVR/ATmega.
Atšķirība stapr šīm grupām ir to fīču sarakstā. Piemēram, tinyAVR parasti ir µC ar mazāku kājiņu vai samazinātu iespēju/fīču skaitu salīdzinājumā ar megaAVR. Visu grupu mikrokontrolieri prot izpildīt vienas tās pašas instrukcijas, tādēļ uzsākt darbu ar kādu no šīm trīs grupas µC nebūs problēmu, ja pirms tam jau esat bijis iepazinies ar kadas citas grupas darbības principiem.
Dažos AVR ir iekļauti SRAM, EEPROM, UART, utt. Ja salīdzināsim tinyAVR un megaAVR, izģērbsim kailus, tad zem tā slēpsies vienāds skelets - AVR core jeb AVR kodols. Š o kodolu sevī slēpj katrs AVR saimes pārstāvis.
Varam secināt, ka, lai izvēlētos "pareizo" mikročipu, ir jāpārzin, ko kurš indivīds spēj paveikt programmēšanas jomā. Vēl svarīgāk ir zināt, ko mēs vēlamies no čipa "izspiest". Tā kā mēs nevēlamies pagaidām neko specifisku radīt, tad sākumam pietiek iegādāties lētāko vai pieejamāko modeli.
Mācamies rakstīt AVR kodu
[imgr]http://bildites.lv/images/y2n7ktuhvfrfcdmepl2t.jpg[/imgr]
Kā jau mēs visi zinām, jaunu lietu apgūšana var būt interesants pasākums, kura garums var būt sākot no pārdesmit minūtēm un beidzot ar mūža garumu, bet ir arī melnā puse šādām lietām. Diezgan bieži jaunais mūs nobiedē vai pieviļ gaidītās cerības un mēs atmetam visam ar roku un aizmirstam par to. Lai nebūtu jānoliek malā apņemšanās apgūt vismaz elementāras lietas, AVR programmēšanas jomā nevajadzētu sākt mācības tikai ar mikročipu datasheet lasīšanu un mācīšanos no šī materiāla. Š is paņēmiens arī nav slikts, bet ir jāmāk sevi pierunāt nepadoties, jo šāds veids prasa lielu pacietību un laiku. Vieglāks veids, manuprāt, ir šāds:
1. Atrast strādājošu, jau uzrakstītu kodu,
2. Izprast tā darbību,
3. Izmainīt to tā, lai tas izpildītu jūsu vajadzības.
Tie, kas pirmo reizi iepazīsies ar šiem mikročipiem, sāks to ar AT90S8515, kura cena elfa.lv ir 4.18 Ls, jo šis modelis ir ar labu perifēriju kombināciju. Nākamais solis, kas ir jāizpilda ir jāpārlūko šī µC datasheet.
Kā lietot AVR datasheet
Ja esat iepriekš jau lejupielādējuši visu to, kas tika minēts iepriekš, tad jums uz sava cietā diska ir jāmeklē PDF formāta fails ar nosaukumu - Doc2512. Tikko atverot šo failu un apskatoties lappušu skaitu ir viegli nobīties no šī skaitļa. Lai gan AT90S8515 datasheet sastāv no 255 lapām, piemēram, ATmega128(L) datasheet sastāv no 386 lapām. Kā jau saprotams, lai izlasītu šo materiālu ir nepieciešams diezgan daudz laika, bet par laimi šī darbība nav obligāta. Š īs dokumentācijas uzdevums ir nodrošināt pilnīgu tehnisko izklāstu par ierīci, tā būs lietderīga kā uzziņas vieta, kad vēlēsieties noskaidrot kā darbojas konkrētā fīča vai perifērija. Kad atvērsiet un pārskatīsiet dokumentāciju ievērosiet, ka tā var tikt iedalīta šādi:
- 1. Pirmā lapa, kas satur ļoti svarīgu un kodolīgu informāciju par produktu,
2. Arhitektūras pārskats,
3. Perifēriju apraksts,
4. Atmiņas programmēšana,
5. Ierīces raksturīgākās pazīmes,
6. Reģistru kopsavilkums
7. Instrukciju/komandu kopu kopsavilkums
8. Iesaiņošanas informācija
Kad šādi esam sadalījuši dokumentāciju, uzreiz skats uz šo lapu gūzmu ir savādāks, tas liekas ērtāks.
Kad būsim izgājuši cauri šim rakstam un palikuši gudrāki, ieteicams ir pārskatīt mikročipa arhitektūru, kas dos informāciju par AVR atmiņu, adresācija un vēl daudz ko, kas var noderēt turpmāk.
Vēl pie ieteicamās lasāmvielas būtu jāpievieno instrukciju/komandu kopsavilkums (jau lejupielādētais PDF fails ar nosaukumu Doc0856). Š ajā dokumentā atrodamā informācija būs noderīga, kad jūs paši saviem spēkiem sāksiet rakstīt kodu no nulles. Kā arī šajā dokumentācijā varam izpētīt sīki un smalki kādu interesējošu komandu.
Labi, pietiks ņemties ar teoriju. Esam sapratuši, ka datasheet, mikročipa dokumentācija sevī slēpj lielu daudzumu noderīgas informācijas, kas pagaidām mums ir pilnīgi nevajadzīga. Kā arī zinam, ka ir dažādu veidu µC AVR saimē. Tad nu laiks ir ķerties klāt praksei!
Startējam AVR Studio 4
Pirms atverat programmu, vai kamēr tā atveras - apskatīsim, kas tad īsti ir AVR Studio 4. AVR Studio[sup]®[/sup] ir IDE (Integrated Development Environment), kas paredzēta AVR aplikāciju, programmu rakstīšanai un atkļūdošanai. Tā darbojas uz Windows platformas un sadzīvo ar Windows 98/XP/ME/2000, kā arī Vista. Š ī programma piedāvā: projekta pārvaldīšanu, sākumkoda rediģētāju, čipu simulatoru.
Pirmais solis: Sākam jaunu projektu
Lai sāktu jauna projekta izveido, mums ir jāstartē jau iepriekš uzinstalētā programma - AVR Studio 4. Visticamāk tā būs atrodama zem Start => Programs (WinXP)/All Programs (WinVista) => Atmel AVR Tools. Sarakstā, protams, izvēlamies - AVR Studio 4.

Ja viss ir pareizis nospiests, būtu jāatveras šādam logam:

Tā kā mūsu mērķis ir sākt jaunu projektu, tad izvēlamies New Project

Otrais solis: Izveidojam projekta setingus jeb īpašības
Š is solis aptver tādas lietas kā projekta tipa izvēli (1), projekta vārda izveidi (2), sākumfaila (Initial File) nosaukuma izveidi (3), saglabāšanas vietas norādīšanu (4), ja vēl atceraties, tad ieteicu izveidot vienu mapi, kurā saglabāt visu, kas saistīts ar AVR. Man šī mape atrodas C:\AVR.

Ja esam visu aizpildījuši, tad nedomājot varam spiest Next un nākamais logs, kas mums atklājas, ir šāds:

Š eit mēs pievēršam uzmanību, Debug Platform un Device izvēlei.

Kad atlasīti parādītie uzstādījumu, atkal nedomājot, varam spiest pogu -

Nospiežot pogu Finish esam apstiprinājuši, ka visi projekta parametri/īpašības mūs apmierina un programma mums dod iespēju uzsākt darbu šajā logā, ar ko sākas
Solis trešais: Rakstam pirmā projekta pirmās koda rindas:

Lai pēc mēneša, gada mēs atcerētos, ka šis bija mūsu pirmais projekts - ierakstīsim to pašā projektā kā komentāru. AVR Studio visu, kas rakstīts aiz ;, semikola simbola uzskata par komentāru. Kamēr vēl neesam aizmirsuši ierakstam ko vajadzēja rediģēšanas logā:

Strādājot ar svarīgiem projektiem mēs nekad nevaram būt droši, ka mūsu datoru pēkšņi nevar ietekmēt strāvas zudums vai arī kāds cits nevēlams gadījums, kas var "palīdzēt" mums pazaudēt projekta kodu rindas. Tādēļ ieteicams ik pēc brīža saglabāt projektu - tos datus, kurus veidojam. Tas visnotaļ attiecas arī uz referātiem, zīmējumiem un citām lietām, kas tiek darītas pie datora. AVR Studio programmā saglabāt rindas varam saglabāt ar ātro taustiņu palīdzību: Ctrl+S vai arī doties uz rīkjoslu File => Save. (Jūs tak to jau zinājāt, vai ne?)

Tā kā esam saglabājuši savu darbu, tagad droši varam apskatīties apkārt un iepazīties ar AVR Studio 4 GUI (Graphical User Interface/Grafisko lietotāja interfeisu).
AVR Studio 4 GUI
Kā redzams apakšējā zīmējumā, visu GUI esam iedalījuši 7 daļās.
1. Izvēlnes rinda (Menu), kurā atrodamas jau pazīstamās komandas - save, open, close, kā arī specifiskas komandas kā - debug, tools.


2. Rīku josla (Toolbars), šeit atrodas īsceļi (shortcuts) uz biežāk lietojamām komandām. Piemēram, Saglabāt (Save), Atvērt (open), Kopēt (Copy) un daudzas citas.
3. Darba logs Project. Š ajā logā varam veikt darbības ar projekta failiem, dzēst, pievienot failus utt.
4. Logs - Editor. Š ajā logā mums ir iespāja labot, atvērt, apskatīt jau esošu programmu kodus, kā arī šeit mēs veidosim savas kodu rindiņas.
5. Output Window. Uzrāda informāciju par statusu, kas notiek programmā.
6. Š o mazo strīpiņu sauc par System Try. Š eit varam sameklēt informāciju par to kādā režīmā strādā AVR Studio, tā kā mēs pašlaik strādājam ar čipu AT90S8515 simulācijas režīmā, tas viss ir redzams tur.
7. I/O View. Atrodam informācija par µC Input/Output portiem, kurus mēs izmantojam dzīvē.
Lai iepazītos sīkāk ar GUI iesaku izlasīt AVR Studio User Guide.

Nu jau jūtamies mājīgāk iekš GUI un varam sākt "rakstīt" savu pirmo programmu.
Rakstām pirmo AVR programmu
Tagad droši varam turpināt savu iesākto LED projektu, kas līdz šīm sastāvēja no vienas rindiņas.
Code: Select all
; Mans pirmais AVR projekts

Tiem, kas nevēlas visu pārrakstīt ar roku, atgādināšu, ka jums bija iespēja lejupielādēt failu ar nosaukumu - samplecode.asm, kas arī ir pilna formāta programmas kods. Kad tas veiksmīgi pārrakstīts vai vienkārši iekopēts editora logā varēsim izmantot komandu Build and run. Pirms tam gan gribu pievērst jūsu uzmanību tam, ka ierakstītais teksts maina krāsu. Tas ir normāli un pat parocīgi, šādu funkciju sauc par sintakses iekrāsošanu. Tā palīdz orientēties burtu, vārdu mudžeklī, kas bieži vien mēdz izveidoties garos programmas kodos, cilvēkiem, kas neievēro nekādu kārtību kā viņi programmē. Bet mēs taču tādi neesam?!
Lai izpildītu iepriekš pieminēto komandu Build and Run mums ir divas iespējas. Izmantot ātro taustiņu kombināciju Ctrl + F7, bet ja nejūtam pirkstos tik lielu veiklību varam to mierīgāk izdarīt izvēloties "Izvēlnes" rindas (Menu) sekciju Build un izvēloties variantu Build and Run.

Ja viss ir pareizi izdarīts, tad Output Window logā mums būtu jāredz, ka Assembly complete, 0 errors. 0 warnings/montāža pabeigta, 0 kļūdas, 0 brīdinājumi. Vēl mums tiek parādīta informācija par to cik lielu daļu no mikročipa atmiņas procentuāli aizņems gatavais programmas kods.

Varat apsveikt sevi ar pirmo programmu, kas paredzēts AVR čipam.
Varam arī ievērtēt reklāmas klipu, kas prezentē AVR Tools:
[youtube]http://www.youtube.com/watch?v=7FCJjqEw0qg[/youtube]
Aicinu cilvēkus, kam šī lieta patīk, izglītot arī pārējos. Dodat ziņu un mēģināsim turpināt šos izglītojošos rakstus.
Izmantotie materiāli: Wikipedia Atmel AVR, Newbie's Guide To AVR Development, Novices Guide to AVR Development, A COMPLETE SOFTWARE ENVIRONMENT TO DEVELOP AVR® APPLICATIONS. IT’S FREE!, AVR Studio User Guide, AVRwiki, AVRBeginners, AVR-mcu.dxp.pl, piclist.com, AVRfreaks.net, ibrtses.com, AVR Assembler Help, attiny.com,