12
INTEGRIRANO PROGRAMSKO OKRUŽENJE (IDE) ATMEL STUDIO ASSEMBLER I PROGRAMSKI JEZIK C DIGITALNA INSTRUMENTACIJA 1 Dr.sc. Ivan Marasović Verzija 1.0

Uvod u Atmel Studio

  • Upload
    ivan

  • View
    95

  • Download
    8

Embed Size (px)

DESCRIPTION

Chip

Citation preview

  • INTEGRIRANO PROGRAMSKO OKRUENJE (IDE)

    ATMEL STUDIO

    ASSEMBLER I PROGRAMSKI JEZIK C

    DIGITALNA INSTRUMENTACIJA 1

    Dr.sc. Ivan Marasovi

    Verzija 1.0

  • 1. UVOD

    Cilj ovog materijala je upoznavanje osnovnih alata i postupaka potrebnih za programiranje

    mikrokontrolera (mikroraunala) u sklopu laboratorijskih vjebi iz kolegija Digitalna

    instrumentacija 1. Kao osnovni edukacijski alat koriten je razvojni sustav (programator)

    STK500 proizvoaa ATMEL uz koritenje integriranog programskog okruenja (IDE) ATMEL

    STUDIO. Koritenje mikrokontrolera u digitalnoj instrumentaciji opisano u ovim materijalima

    napravljeno je prema mirokontroleru ATmega16 iz AVR serije mikrokontrolera proizvoaa

    ATMEL. U prvom dijelu gradiva iz laboratorijskih vjebi svi primjeri programa za

    mikrokontroler napisani su u assembleru kako bi studenti bolje savladali osnove rada

    mikrokontrolera i registre vane za njegov rad. U drugom dijelu vjebi svi primjeri napisani u

    assembleru dani su u programskom jeziku C uz odreena proirenja.

  • 2. INTEGRIRANO PROGRAMSKO OKRUENJE ATMEL STUDIO

    Programiranje mikrokontrolera iz AVR serije najee se izvodi koritenjem assemblera ili

    C/C++ programskog jezika. Proizvoa mikrokontrolera ATMEL razvio je integrirano

    programsko okruenje (IDE) Atmel Studio koji ukljuuje editor, C kompajler, assembler, HEX

    file downloader i simulator mikrokontrolera.

    Preuzimanje programskog okruenja Atmel Studio mogue je na linku:

    http://www.atmel.com/microsite/atmel_studio6/

    Za instaliranje programskog okruenja Atmel Studio potrebno je pokrenuti preuzetu

    datoteku uz prihvaanje default postavki.

  • 3. PROGRAMIRANJE MIKROKONTROLERA - ATMEL STUDIO

    3.1 Kreiranje projekta u Atmel Studiu

    Prvi korak u programiranju mikrokontrolera u programu Atmel Studio je kreiranje projekta. S

    obzirom da Atmel Studio podrava programiranje u Assembleru i programskom jeziku C

    prilikom kreiranja projekta potrebno je odluiti koji tip projekta se eli kreirati. Nakon

    pokretanja u izbrorniku File potrebno je odabrati New Project pri emu se otvara prozor

    prikazan na slici 1.

    Sa lijeve strane prikazanog prozora u dijelu koji sadri predloke mogue je odabrati:

    C projekt (predloak) odabirom C/C++ |GCC C Executable Project

    Assembler projekt (predloak) odabirom Assembler |AVR Assembler project

    Slika 1. Kreiranje projekta u Atmel Studiu

    Prilikom kreiranja projekta potrebno je ukljuiti opciju Create directory for solution kako bi

    se kreirao folder istog imena kao i projekt. U Atmel Studiu 6 Solution moe sadravati vie

    projekata. Nakon unosa imena projekta i lokacije za pohranu postupak kreitanja projekta

    zavrava se odabirom OK.

    Nakon toga otvara se novi prozor Device Selection prikazan na slici 2. u kojem je potrebno

    odabrati tip mikrokontrolera koji se eli programirati. Kako je ve prethodno reeno svi

    primjeri su napravljeni prema mikrokontroleru ATmega16 pa ga je potrebno u ovom koraku

    odabrati.

  • Slika 2. Odabir mikrokontrolera kojeg se eli programirati (u ovom sluaju ATmega16)

    Nakon odabira tipa mikrokontrolera i potvrde sa OK u Atmel Studiu se otvori novi projekt

    prikazan na slici 3.

    Slika 3. Otvoreni projekt u Atmel Studiu

  • Pisanje programa mogue je u predvienom prostoru u skladu s pravilima programiranaj u

    Assembleru ili C-u ovisno o tipu projekta.

    3.2 Kompajliranje izvornog koda u izvrnu .HEX datoteku

    Kompajliranje izvornog koda u izvrnu .HEX datoteku prikladnu za programiranje

    mikrokontrolera odvija se na sljedei nain:

    U izborniku Build odabrati Build Solution (ili skraeno tipku F7) kako je prikazanao na

    slici 5.

    Ako je programski kod napisan bez greaka generirat e se .hex datoteka koja sadri kod

    u obliku strojnog jezika prikladnog za programiranje ATmega16 mikrokontrolera. HEX

    datoteka je uglavnom pohranjena u folderu debug unutar foldera projekta.

    Slika 4. Prevoenje izvornog koda u izvrni .hex oblik

  • 3.3 Koritenje simulatora rada mikrokontrolera

    Simulator rada mikrokontrolera omoguava detaljan uvid u izvoenje programa i rad

    mikrokontrolera. U ovom dijelu prikazan je nain koritenja simulatora i mogunosti praenja

    stanja pojedinih registara unutar mikrokontrolera. Stoga je simulator posebno prikladan za

    otklanjanje greaka u programu mikrokontrolera poznatiji kao debugiranje. Simulator

    omoguava izvravanje izvornog programa (C ili assembler) liniju po liniju uz istovremeno

    praenje stanja registara CPU jedinice, ulazno-izlaznih linija i registara, stanja memorije i

    registara perifernih jedinica (AD pretvara, komparator, USART itd..). Prilikom koritenja

    simulatora nije potreban programator (razvojni sustav) STK500 niti je potrebno programirati

    mikrokontroler nego se cijelokupni postupak odvija na raunalu.

    Pokretanje simulatora provodi se na sljedei nain:

    U izborniku Debug odabrati Start debugging and Break ili skraeno Alt+F5

    Atmel Studio zahtjeva specificiranje debuggera pri emu je potrebno odabrati Simulator

    kako je prikazano na slici 5.

    Slika 5. Postavljanje Simulatora kao debuggera

    Nakon pokretanja procesa debuggiranja Atmel Studio omoguava pregled stanja registara

    mikrokontrolera i ulazno izlaznih linija i registara na sljedei nain:

    U izborniku Debug|Windows odabrati Processor View ili IO View

  • Slika 6. Pregled registara i modula mikrokontrolera (lijevo) i stanja registara procesora

    (desno)

    Pokretanjem procesa debuggiranja u pojavljuje se uta strelica u editoru programskog koda i

    oznaava naredbu koja e se sljedea izvriti. Odabirom Debug|Step Into ili tipke F11 izvodi

    se sljedei korak simulacije programa odnosno izvravanje naredbe na koju pokazuje strelica.

    Slika 7. Izvoenje programa korak po korak (na slici lijevo) i stanje registara (na slici desno)

    Tijekom izvoenja simulacije programa na mikrokontroleru mogue je i upisivanje stanja

    registara ili pojedinih bitova u registrima runo. Dovoljno je na odreeni bit u registru

  • kliknuti lijevim klikom mia kako bi se promjenilo postojee stanje bita (iz 0 u 1 ili obrnuto)

    kako je prikazano na slici 8.

    Slika 8. Runo postavljanje stanja ulaznog registra PINA

    Za praenje stanja varijabli tijekom debuggiranja potrebno je oznaiti varijablu u editoru te

    odabrati sljedee: Debug|Quick Watch|Add Watch te e oznaena vraijabla biti dodana u

    karticu Watch 1.

    Osim opisani mogunosti simulator odnosno Debug mod rada prua i mnoge druge korisne

    mogunosti kao npr. izvoenje programa do odreene toke (breaking point), preskakanje

    petlji i funkcija itd.. Ukoliko se provodi simulacija (debugiranje) programa napisanog u C-u

    tada je odabirom Debug|Windows|Disassembly mogue vidjeti kako izgleda odgovarajui

    kod napisan u assembleru. Za prekid debugiranja potrebno je odabrati Debug|Stop

    Debugging ili skraeno Ctrl+Shift+F5.

  • 3.4 Programiranje mikrokontrolera - upisivanje HEX datoteke u

    memoriju mikrokontrolera

    Za upisivanje izvrne (.hex) datoteke u flash memoriju mikrokontrolera ATmega16 koristi se

    razvojni sustav STK500 proizvoaa Atmel. Za ispravno programiranje mikrokontrolera

    potrebno je konfigurirati STK500 na sljedei nain:

    1. Postaviti mikrokontroler ATmega16 u podnoje sa oznakom SCKT3100A3

    2. Koritenjem flat kabela povezati kratkospojnik (jumper) SPROG3 na ISP6PIN konektor

    3. Povezati razvojni sustav STK500 serijskim kabelom sa osobnim raunalom. STK500

    ima dva serijska konektora, za programiranje mikrokontrolera koristi se konektor sa

    oznakom RS232 CTRL.

    4. Spojiti vanjski izvor napajanja (adapter) 12V te koritenjem sklopke ukljuiti

    napajanje.

    Slika 9. Konfiguracija razvojnog sustava STK500 za programiranje i testiranje mikrokontrolera

    Registracija razvojnog sustava STK500 u Atmel Studiu

    U prvom koraku potrebno je razvojni sustav STK500 registrirati unutar Atmel Studija.

    Potrebno je odabrati Tools|Add Target pri emu se otvori prozor za definiranje

    konfiguracijskih postavki prikazana na slici 10. U padajuem izborniku Select tool odabrati

    STK500 a u izborniku Select Serial port postaviti oznaku serijskog porta za komunikaciju sa

    raunalom. U sluaju da raunalo nema serijski port potrebno je koristiti USB-RS232

    konverter te u Devices Manageru oitati broj serijskog porta koji je pridjeljen konverteru.

  • Slika 10. Registracija i povezivanje STK500 razvojnog sustava

    Upisivanje izvrne .hex datoteke u mikrokontroler

    Nakon registracije razvojni sustav je spreman za programiranje mikrokontrolera odnosno

    upisivanje izvrne .hex datoteke u programsku (flash) memoriju mikrokontrolera.

    Odabirom Tools| Device Programming otvara se novi prozor prikazan na slici 11.

    Slika 11. Postavljanje parametara za programiranje mikrokontrolera

    U prozoru prikazanom na slici 11. u padajuim izbornicima Tool Device Interface

    potrebno je postaviti redom STK500 COM(X), ATmega16 i ISP te potvrditi klikom na Apply.

  • U nastavku prozora (horizontalno) postoje dva polja Device Signature i Target Voltage koja

    nam omoguavaju oitanje hexadecimalne oznake mikrokontrolera (za Atmegu oznaka je

    0x1E9403) i napon na mikrokontroleru. Oitanje ovih podataka znai da je komunikacija sa

    mikrokontrolerom ispravno uspostavljena i da se moe poeti sa upisivanjem .hex datoteke

    u flash memoriju.

    U lijevom dijelu prozora koji sadri nekoliko opcija potrebno je odabrati Memories kako je

    prikazano na slici 12. Prije samog upisivanja .hex datoteke sve opcije (checkbox) trebaju

    biti postavljene kao na slici 12.

    Slika 12. Programiranje mikrokontrolera ATmega16