background image

6

Radioelektronik Audio-HiFi-Video 7/2003

Program AVR Studio 

to niezwykle przydatne 

narzêdzie w procesie 

edytowania, symulowania

i uruchamiania aplikacji

opartych na mikrokontro-

lerach AVR firmy ATMEL.

Dodatkow¹ korzyœci¹ dla

programistów 8-bitowych

mikrokontrolerów AVR

jest zintegrowany z AVR

Studio Asembler. 

M

ikrokontrolery AVR s¹ coraz

powszechniej wykorzystywa-

ne przez projektantów syste-

mów mikroprocesorowych.

W banerze reklamowym firma ATMEL prze-

konuje, ¿e ich AVR s¹ prawdopodobnie 12

razy szybsze ni¿ mikrokontrolery, które w³a-

œnie u¿ywasz. Bez w¹tpienia AVR o archi-

tekturze RISC (Reduced Instruction Set

Computing) s¹ zdecydowanie szybsze ni¿

tradycyjne mikrokontrolery CISC (Complex

Instruction Set Computer). Podstawowym

narzêdziem dla projektantów systemów

opartych na uk³adach AVR jest przedstawio-

ny w artykule program AVR Studio . Pe³n¹

i najnowsz¹ wersjê AVR Studio mo¿na 

pobraæ  bezp³atnie ze strony internetowej 

firmy ATMEL.

AVR Studio umo¿liwia edycjê, symulacjê

i uruchamianie aplikacji z mikrokontrolerami

AVR. Program ten wspomaga projektan-

tów systemów mikroprocesorowych w pro-

cesie projektowania, programowania, debu-

gowania i rozwoju aplikacji. AVR Studio 4 za-

wiera wiele przydatnych narzêdzi: mena-

d¿er projektów, edytor plików Ÿród³owych,

debuger, symulator i interfejs do obs³ugi

zewnêtrznych emulatorów. Z programem

zintegrowany jest równie¿ asembler. Do

AVR Studio do³¹czona jest tak¿e rozbudo-

wana instrukcja (pomoc) prezentuj¹ca

szczegó³owo nie tylko mo¿liwoœci i funkcje

samego programu, ale równie¿ i dok³adny

opis asemblera, ³¹cznie z list¹ instrukcji

oraz wytyczne do pracy z zestawami uru-

chomieniowymi, programatorami i emulato-

rami wspó³pracuj¹cymi z AVR Studio.

Debuger i symulator

Debugowanie, czyli wykrywanie i usuwanie

b³êdów, to niezwykle wa¿ny etap w procesie

tworzenia oprogramowania. Jego w³aœciwe

przeprowadzenie ma du¿y wp³yw na jakoœæ

stworzonego oprogramowania i satysfakcjê

u¿ytkownika. B³êdy w oprogramowaniu sy-

stemów mikroprocesorowych mo¿na wykry-

waæ  wykorzystuj¹c narzêdzia sprzêtowe

takie jak zestawy uruchomieniowe lub emu-

latory oraz programowe czyli symulatory.

AVR Studio umo¿liwia uruchamianie opro-

gramowania mikrokontrolerów AVR zarów-

no na platformie sprzêtowej, z wykorzy-

staniem emulatorów takich jak ICE50 lub

JTAG ICE, jak te¿ i programowej, czyli z u¿y-

ciem wbudowanego w AVR Studio symula-

tora. Je¿eli do komputera nie jest do³¹czony

zewnêtrzny emulator, AVR Studio automa-

tycznie przechodzi do pracy z wewnêtrz-

nym symulatorem. Je¿eli AVR Studio wykry-

je do³¹czony emulator, automatycznie prze-

³¹cza siê w tryb pracy z emulatorem.

W AVR Studio debugowanie wygl¹da i prze-

biega zawsze tak samo, niezale¿nie od te-

go, czy u¿ytkownik korzysta z symulatora

czy te¿ emulatora. W rzeczywistoœci wy-

stêpuj¹ jednak istotne ró¿nice. Emulator

pracuje znacznie szybciej ni¿ symulator.

Ponadto, emulator w przeciwieñstwie do

symulatora umo¿liwia wykrywanie b³êdów

w rzeczywistym œrodowisku sprzêtowym.

W symulatorze mo¿liwy jest podgl¹d za-

wartoœci wszystkich rejestrów, co z kolei

nie zawsze jest mo¿liwe w emulatorze. Znaj-

duj¹cy siê na dole okna AVR Studio pasek

statusu informuje o rodzaju u¿ytego narzê-

dzia (emulatora lub symulatora).

Wbudowany w AVR Studio symulator obs³u-

guje wszystkie uk³ady z rodziny AVR i

umo¿liwia œledzenie zawartoœci CPU, uk³a-

dów wejœciowych i wyjœciowych mikrokon-

trolera oraz pamiêci. Umo¿liwia symulacjê

pracy wewnêtrznej i zewnêtrznej pamiêci

SRAM, portów, timerów, liczników, wszyst-

kich przerwañ, pamiêci EEPROM, a nawet

– w mo¿liwym zakresie – UARTu i SPI (Se-

rial Port Interface). Symulacj¹ programów

mo¿na sterowaæ korzystaj¹c z opcji w me-

nu Debug. W menu dostêpne s¹ funkcje

uruchomienia, zatrzymania i resetu progra-

mu, przerwania realizacji programu w miej-

scu ustawienia kursora, wykonywania pro-

gramu krok po kroku. Mo¿liwe jest równie¿

zdefiniowanie pu³apek programowych, czy-

li miejsc, w których realizacja programu ma

byæ zatrzymana.

AVR Asembler

Do pisania prostych, niewielkich aplikacji

z powodzeniem mo¿na wykorzystaæ wbudo-

wany w AVR Studio asembler. Równie¿

i programy lub wybrane procedury, których

czas realizacji jest krytyczny warto kodo-

waæ w asemblerze. Program mo¿na wpro-

wadziæ korzystaj¹c ze zintegrowanego

z AVR Studio edytora. Na sk³adniê asemble-

ra sk³adaj¹ siê: mnemoniki instrukcji, etykie-

ty i dyrektywy. Instrukcje i dyrektywy mog¹

byæ bezargumentowe, b¹dŸ mieæ jeden lub

wiêcej argumentów. Instrukcje okreœlaj¹

operacje, jakie ma realizowaæ mikrokontro-

ler. Mnemoniki to kombinacje paru liter, two-

rz¹ce symboliczne skróty nazw operacji re-

alizowanych przez instrukcje. Dyrektywy

steruj¹ prac¹ asemblera, a etykiety umo¿-

liwiaj¹ symboliczn¹ prezentacjê adresów

AVR STUDIO 4

r

PORADNIK

ELEKTRONIKA

Rys. 1. AVR Studio to narzêdzie niezbêdne 

do pisania i uruchamiania programów 

na mikrokontrolery AVR ATMEL

Rys. 2. Okno wyboru narzêdzia do wykrywania i usuwania b³êdów (programowego symulatora 

lub jednego z zewnêtrznych sprzêtowych emulatorów) oraz mikrokontrolera

background image

gramowanego uk³adu s³u¿y dyrektywa 

DEVICE. Ka¿demu mikrokontrolerowi AVR

przypisany jest plik *.inc zawieraj¹cy defini-

cje wewnêtrznych rejestrów, bitów, prze-

rwañ i timerów, które czyni¹ pisanie pro-

gramu wygodniejszym.

Kompilatory C

Programowanie w C jest znacznie prostsze

i szybsze ni¿ w asemblerze, a kod Ÿród³owy

jest bardziej przejrzysty i czytelny. Jêzyk

C jest odpowiedniejszym narzêdziem do

tworzenia du¿ych i z³o¿onych projektów.

AVR Studio nie ma w³asnego kompilatora C.

W AVR Studio mo¿na edytowaæ programy

w jêzyku C oraz symulowaæ wygenerowane

przez zewnêtrzne kompilatory pliki obiekto-

we. AVR Studio rozpoznaje miêdzy innymi

standardy plików UBROF (IAR) i COFF (Ima-

geCraft, CodeVision, ELAB i inne). 

Dostêpnych jest wiele dobrych kompilatorów

7

w pamiêci programu. Pojedyncza linia w

jêzyku asembler wygl¹da nastêpuj¹co:

[etykieta:] dyrektywa [argumenty] ;[komentarz]

lub

[etykieta:] instrukcja [argumenty] ;[komentarz]

Elementy zawarte w nawiasach prostok¹t-

nych s¹ opcjonalne, a tekst znajduj¹cy siê

pomiêdzy œrednikiem i koñcem linii jest igno-

rowany przez translator asemblera. Asem-

bler dokonuje translacji wprowadzonego

symbolicznego kodu Ÿród³owego w kod

obiektowy. Wygenerowany w ten sposób

kod obiektowy wykorzystywany jest nastêp-

nie do debugowania programu w œrodowi-

sku programowego symulatora AVR Stu-

dio lub sprzêtowego emulatora. Asembler

generuje tak¿e kod PROM, który mo¿e byæ

wykorzystany do zaprogramowania pamiê-

ci mikrokontrolerów AVR.

Korzystaj¹c ze zintegrowanego z AVR Stu-

dio asemblera mo¿na programowaæ wszy-

stkie uk³ady z rodziny AVR. Do wyboru pro-

Radioelektronik Audio-HiFi-Video  7/2003

dla mikrokontrolerów AVR, które mog¹

wspó³pracowaæ z AVR Studio. Nale¿¹ do

nich produkty takie jak ICCAVR firmy Ima-

geCraft, IAR Systems Embedded Work-

bench, CodeVisionAVR C Compiler i AVR

GCC. ICCAVR ImageCraft (www.imagecra-

ft.com) i IAR (www.iar.com) s¹ kompletnymi

narzêdziami projektowymi, w sk³ad których

wchodzi edytor, menad¿er projektów, kom-

pilator jêzyka C i asembler. Opcjonalnie ra-

zem z programem IAR mo¿na nabyæ debu-

ger C-SPY. Narzêdzia projektowe obydwu

firm wspó³pracuj¹ z AVR Studio, a ich de-

monstracyjne wersje mo¿na pobraæ z sieci.

Równie dobrym narzêdziem, choæ nie o tak

du¿ych mo¿liwoœciach jest kompilator Code-

VisionAVR. Nie ma on wbudowanego symu-

latora, mo¿e jednak wspó³pracowaæ z AVR

Studio. CodeVisionAVR wyposa¿ony jest

w praktyczne biblioteki C do obs³ugi 

m.in. alfanumerycznych wyœwietlaczy LCD,

czujników temperatury National Semicon-

ductor LM75, Dallas Semiconductor

DS1820/1822 oraz zegarów czasu rzeczy-

wistego Dallas Semiconductor DS1302,

DS1307 i Philips PCF8563, PCF8583. 

Przydatnym  narzêdziem  jest  tak¿e  Code-

WizardAVR, który mo¿e automatycznie wy-

generowaæ kod Ÿród³owy inicjalizuj¹cy mi-

krokontroler, jego uk³ady wejœcia i wyjœcia

oraz wspó³pracê z niektórymi powszech-

nymi uk³adami zewnêtrznymi. Wersjê free-

ware CodeVisionAVR mo¿na œci¹gn¹æ ze

strony www.hpinfotech.ro.

Z kolei AVR GCC, w przeciwieñstwie do

wymienionych narzêdzi, nie jest kompletnym

œrodowiskiem projektowym, lecz wy³¹cznie

kompilatorem jêzyka C. Edycjê i symula-

cjê programów nale¿y przeprowadzaæ na

zewn¹trz AVR GCC, na przyk³ad w AVR

Studio. 

Kompilator GCC jest bezp³atny i mo¿na go

pobraæ ze strony www.avrfreaks.com.

Wymagania sprzêtowe

Program AVR Studio nie ma wysokich wy-

magañ sprzêtowych. Do jego uruchomienia

wystarczy komputer PC z procesorem co

najmniej Intel Pentium 200 MHz, 64 MB

pamiêci RAM i 15 MB wolnej przestrzeni na

twardym dysku. Wymagana minimalna roz-

dzielczoϾ ekranu to 800

×

600, wskazana

jest jednak praca z rozdzielczoœci¹

1024

×

768. AVR Studio dzia³a w œrodowisku

Windows, pocz¹wszy od 95, poprzez 98,

ME, 2000, XP i skoñczywszy na Windows

NT 4.0 z przegl¹dark¹ Internet Explorer

w wersji co najmniej 5.0.

n

Wojciech Nowakowski

wojciech.nowakowski

@

interia.pl

Rys. 3. 

Symulacja 

programu 

napisanego 

w jêzyku C

w AVR Studio 4

Rys. 4. 

Demonstracyjn¹

wersjê

IAR Systems 

Embedded 

Workbench 

mo¿na 

pobraæ ze strony

www.iar.com,

a tak¿e z dzia³u

Software 

& Shareware 

dla 

mikrokontrolerów

AVR na stronie 

firmy ATMEL

(www.atmel.com)