99_101.PDF

(128 KB) Pobierz
K U  R S
W†zwi¹zku z†pytaniami CzytelnikÛw dotycz¹cymi
programÛw zawartych w†pakiecie RIDE, w†kolejnym
część 7
odcinku kursu zdecydowa³em siÍ wrÛciÊ do opisu jego uøytkowania.
W†artykule zawarto informacje na temat edycji programu, tworzenia zbioru
projektu, symulacji wykonania programu oraz tworzenia zbiorÛw wynikowych
w†formatach BIN i†HEX. Trzeba jednak podkreúliÊ, øe objÍtoúÊ tego artyku³u
nie pozwala na wyczerpuj¹ce omÛwienie wszystkich aspektÛw uøytkowania
pakietu.
Jak posługiwać się kompilatorem C, część 1
ry. W†przypadku, gdy nie jest aktyw-
ny øaden z†projektÛw (opiszÍ to
w†dalszej czÍúci artyku³u), ustawione
parametry s¹ domyúlnymi dla wszyst-
kich tworzonych programÛw i†wszyst-
kich urz¹dzeÒ, w†ktÛrych mikrokont-
roler ma wspÛ³pracowaÊ. Jest to na
przyk³ad typ mikrokontrolera i†opcje
jego rozszerzeÒ. Rzadko zdarza siÍ,
øe s¹ one identyczne dla rÛønych
urz¹dzeÒ. Jeúli jednak wykorzystujesz
tylko jeden typ mikrokontrolera od
okreúlonego producenta oraz twÛj
program nie zawiera modu³Ûw
w†asemblerze, to moøesz wybraÊ
w³aúnie ten prosty sposÛb. Nie pole-
cam jednak tego. Znacznie bardziej
efektywne jest pos³ugiwanie siÍ pro-
jektami.
Kaødy tworzony projekt jest
obiektem, dla ktÛrego indywidualnie
moøesz okreúliÊ w³aúciwoúci i†sk³ado-
we. PÛüniej otwarcie zapamiÍtanego
projektu powoduje przywrÛcenie cech
úrodowiska, dla ktÛrego napisana zo-
sta³a dana aplikacja - parametry do-
myúlne zostan¹ zast¹pione w³aúciwy-
mi dla stosowanego przez Ciebie
sprzÍtu.
Aby utworzyÊ projekt, wybierz
z†menu
Project>New
. Pojawi siÍ
okienko (rys.
3)
z†pytaniem o†folder,
w ktÛrym na dysku ma byÊ zapa-
miÍtany twÛj projekt i†jak ma siÍ na-
zywaÊ. Folder bÍdzie zawiera³ rÛw-
nieø zbiory wynikowe typu HEX, BIN
lub w†obu tych formatach jednoczeú-
nie. Ja przechowujÍ wszystkie projek-
ty w†jednym katalogu. U³atwia to ich
archiwizacjÍ, a†selekcj¹ zbiorÛw zaj-
Rys. 1
Raisonance RIDE
Pakiet RIDE firmy Raisonance jest
zbiorem programÛw narzÍdziowych
umoøliwiaj¹cych przygotowywanie
i†uruchamianie programÛw w†jÍzyku C
i†w†asemblerze dla mikrokontrolerÛw
ST62 firmy STM, XA firmy Philips
oraz innych mikrokontrolerÛw naleø¹-
cych do rodziny 8051. Ze wzglÍdu na
planowane nastÍpne odcinki kursu, po-
minÍ zagadnienia dotycz¹ce úrodowis-
ka programowania ST62 i†XA - zajmie-
my siÍ wy³¹cznie mikrokontrolerem
8051. Nie oznacza to jednak, øe nie
moøna tego opisu wykorzystaÊ takøe
dla innych mikrokontrolerÛw.
RIDE (Raisonance
Integrated Deve-
lopment Environment)
zawiera nastÍ-
puj¹ce programy przeznaczone dla
mikrokontrolerÛw z†rodziny 8051:
- kompilator jÍzyka asembler
MA-51
(jest to makroasembler),
- kompilator jÍzyka C
RC-51,
- linker
LX-51,
- symulator wspÛ³pracuj¹cy ze sprzÍto-
wym emulatorem,
- edytor przystosowany do sk³adni
jÍzykÛw asembler oraz C†(wyrÛønia-
ne s¹ s³owa kluczowe obu jÍzy-
kÛw).
Wersja demonstracyjna pakietu jest
na p³ycie CD do³¹czonej do EP6/2002
oraz w†Internecie, na przyk³ad na
stronie producenta pod adresem:
http://www.raisonance.com/down-
load.php.
Instalacja i†uruchomienie
Jeúli masz oryginaln¹ p³ytÍ od
producenta, pakiet zainstaluje siÍ pra-
wie bez Twojego udzia³u. Program
instalacyjny znajduj¹cy siÍ na p³ycie
CD uruchamia siÍ po umieszczeniu
jej w†napÍdzie. Jeúli natomiast pobra-
³eú wersjÍ instalacyjn¹ z†Internetu,
poprzez wybranie
Start
i†Uruchom
moøesz rozpocz¹Ê instalacjÍ.
Po zainstalowaniu pakiet gotowy
jest do pracy - bez øadnych dodat-
kowych ustawieÒ czy restartowania
komputera. Ustaw rozdzielczoúÊ ekra-
nu 800x600 lub wiÍksz¹ - ³atwiej bÍ-
dzie odczytaÊ wyúwietlane informacje.
Po pierwszym uruchomieniu zoba-
czysz tylko menu g³Ûwne pakietu.
Poniewaø wczeúniej nie otwiera³eú
øadnych plikÛw, to na ekranie bÍ-
dzie wy³¹cznie otwarte okno progra-
mu i†szare t³o.
Menu g³Ûwne
OmÛwmy poszczegÛlne, najbardziej
dla nas uøyteczne pozycje menu (rys.
1).
Nie jest moim celem pisanie in-
strukcji obs³ugi programu - tym zaj¹³
siÍ juø producent. ChcÍ natomiast
podaÊ tyle informacji, ile jest ko-
niecznych, aby zacz¹Ê pracÍ z†pro-
gramem.
Do rozpoczÍcia pisania pierwsze-
go programu w†jÍzyku C†wystarczy
wybraÊ w†menu
File>New
(rys.
2).
NastÍpnie naleøy wybraÊ
C†Files
i†edytor gotowy jest do pracy. Mo-
øesz zawsze tak postÍpowaÊ w†przy-
padku krÛtkich programÛw, ale nie
jest to zbyt dobry sposÛb.
Dlaczego? Menu zawiera pozycjÍ
Options.
Po jej wyborze moøna usta-
wiÊ waøne dla programu ürÛd³owego
oraz urz¹dzenia docelowego paramet-
Rys. 2
Rys. 3
Elektronika Praktyczna 12/2002
99
K U  R S
Rys. 4
Rys. 6
muje siÍ RIDE. System Windows ofe-
ruje moøliwoúÊ tworzenia nazw opi-
sowych, wiÍc naleøy z†nich korzys-
taÊ. Nazywaj swoje pliki tak, abyú
mÛg³ po jakimú czasie je rozpoznaÊ.
Tu jedna waøna uwaga - plik pro-
jektu nie moøe mieÊ takiej samej na-
zwy, jak ktÛryú z†jego sk³adnikÛw. To
oznacza, øe jeúli twÛj projekt ma na-
zwÍ
Kontroler-LCD,
to øaden z†modu-
³Ûw nie moøe mieÊ tej samej nazwy.
Nie powinieneú tworzyÊ plikÛw
Kon-
troler-LCD.c
albo
Kontroler-LCD.a51.
Wyt³umaczenie jest bardzo proste.
Kompilator nie przetwarza ca³ego ko-
du ürÛd³owego, lecz poszczegÛlne je-
go modu³y jeden po drugim. Na po-
cz¹tku na przyk³ad moøe byÊ kompi-
lowany napisany w†jÍzyku C, potem
w†asemblerze. Na podstawie plikÛw -
nazwijmy je przejúciowych - linker
tworzy plik w†formacie HEX (lub BIN
albo teø oba jednoczeúnie) przezna-
czony do zapisania w†pamiÍci mikro-
kontrolera. I†tu docieramy do sedna
sprawy. Kompilator generuj¹c pliki
przejúciowe, uøywa tej samej nazwy,
ktÛr¹ ma zbiÛr ürÛd³owy, zmieniaj¹c
jedynie rozszerzenia. Czyli plikiem
wynikowym kompilacji
Kontroler-
LCD.a51
bÍdzie
Kontroler-LCD.obj.
£atwo jest wiÍc wysnuÊ wniosek, øe
nowo tworzone pliki bÍd¹ zastÍpowa-
³y te starsze. ByÊ moøe ta cecha
kompilatora RC-51 zosta³a usuniÍta
w†najnowszej wersji pakietu, jednak
jest to stosowane rÛwnieø przez in-
nych producentÛw programÛw tego
rodzaju.
okreúlaj¹c w³aúciwoúci sprzÍtu. Zak³a-
dam, øe utworzy³eú juø nowy projekt
i†øe dotyczy on mikrokontrolera
z†rdzeniem podobnym do 80C51. Za-
twierdü wybÛr za pomoc¹
OK.
Teraz
ustaw opcje úrodowiska, dla ktÛrego
pisany jest program. Wybierz
Op-
tion>Target
(rys.
4).
NastÍpnie zaznacz
Harvard achi-
tecture
i†wybierz typ mikrokontrolera.
Za³Ûømy, øe do pierwszego projektu
bÍdziesz uøywa³ AT89S8252 - wy-
bierz wiÍc na liúcie 8052. Nie jest
to dok³adnie ten sam mikrokontroler,
ale bardzo do niego podobny. Za-
twierdü wybÛr za pomoc¹
OK.
Teraz kolejna grupa ustawieÒ, z
ktÛrych typowo potrzebujesz ustawiÊ
tylko kilka. Wybierz
Options>Project.
Raczej nie musisz nic zmieniaÊ
w†Environment i†Directories. S¹ tam
nastawy dotycz¹ce do³¹czanych zbio-
rÛw bibliotek oraz kolorÛw, czcionek
i†sposobÛw w†jaki wyúwietla komuni-
katy kompilator. Najbliøsz¹ ìga³Ízi¹î
drzewa
Options,
ktÛr¹ powinieneú siÍ
zainteresowaÊ jest
RC51.
Zawiera ona
wiele istotnych informacji dotycz¹-
cych kompilatora:
- jeúli nie uøywasz liczb zmienno-
przecinkowych, zaznacz
No floating
point,
w†przeciwnym przypadku
proponujÍ
IEEE standard
(rys.
5),
- wybierz zak³adkÍ
Memory Model
(rys.
6)
i†zdecyduj, jakiego modelu
pamiÍci bÍdzie uøywa³ mikrokont-
roler (typowo wystarczy
Small:
te-
go rodzaju nastawy uøywam dla
AT89S8252, gdy planowany rozmiar
programu nie wykracza poza 8kB
pamiÍci Flash) - zaznacz opcje spe-
cjalne dla AT89S8252 (jest to
Dual
DPTR ATMEL),
- wybierz zak³adkÍ
Optimizer
(rys.
7)
i†zaznacz, czy kod wynikowy ma
byÊ optymalny pod wzglÍdem roz-
miaru (Size), czy szybkoúci wyko-
nywania programu (Speed - zazwy-
czaj j¹ zaznaczam) - nastawÍ
Opti-
mizer level
moøesz pomin¹Ê,
- pozosta³e parametry nastaw kompi-
latora dla RC51 nie s¹ waøne.
Przejdü zatem do grupy
LX51
i†wy-
bierz
Linker
- jest tu wiele bardzo
waønych nastaw (rys.
8).
WiÍkszoúÊ programatorÛw korzys-
ta ze zbiorÛw wynikowych w†forma-
cie Intel HEX, tak wiÍc zostaw za-
Rys. 7
Rys. 8
znaczon¹ opcjÍ
Generate an Intel
Hex File.
Jeúli twÛj programator wy-
maga pliku w†formacie binarnym,
zaznacz rÛwnieø
Generate a†Binary
File
(BIN). Wpisz rozmiar pamiÍci
RAM size, Initialized RAM size -
dla AT89S8252 jest to 256 bajtÛw.
W†dolnej czÍúci okienka masz jesz-
cze moøliwoúÊ okreúlenia od jakie-
go adresu w†pamiÍci Flash czy
RAM umieszczony zostanie kod wy-
nikowy i†zmienne (zazwyczaj nie
potrzebujesz jednak zmieniaÊ tych
nastaw).
Na tym moøesz zakoÒczyÊ usta-
wianie opcji projektu - wybierz OK.
Jak zd¹øy³eú siÍ zapewne zoriento-
waÊ, w†poszczegÛlnych zak³adkach
znajduje siÍ jeszcze wiele innych
uøytecznych opcji, jednak do napisa-
nia pierwszej aplikacji w†jÍzyku C†dla
AT89S8252 wystarczy to, co juø poz-
na³eú.
Do³¹czanie plikÛw ürÛd³owych
do projektu
Wczeúniej utworzy³eú plik projek-
tu. Jest on jednak pusty. OprÛcz
w³aúciwoúci nie zawiera øadnych
sk³adowych. Teraz postaram siÍ po-
kazaÊ, jak do projektu dodaÊ juø is-
tniej¹ce oraz nowe pliki ürÛd³owe.
W celu utworzenia nowego pliku
naleøy wybraÊ
File>New
(rys.
9).
W†zaleønoúci od rodzaju tworzonego
pliku wybierz odpowiedni typ. Za³Ûø-
my, øe tym pierwszym tworzonym
Ustawianie opcji zbioru
projektu
Po otwarciu okna nowego projek-
tu wpisz jego nazwÍ i†wybierz mo-
del mikrokontrolera. Ten wybÛr jest
wyborem rodzaju kompilatora, a†nie
nazw rejestrÛw. Te zdefiniujesz pÛü-
niej, do³¹czaj¹c zbiory definicji oraz
Rys. 5
Rys. 9
100
Elektronika Praktyczna 12/2002
K U  R S
ku, nie musisz podawaÊ rozszerzenia
- zostanie one dodane automatycznie.
Inaczej jest ze zbiorami nag³Ûwkowy-
mi typu ìhî. Po nazwie musisz do-
pisaÊ rozszerzenie. Ja zapamiÍta³em
swÛj zbiÛr projektu pod nazw¹
pro-
gramator-ISP
, a†modu³ w†jÍzyku
C†pod nazw¹
programator-C-modu³.
Utworzenie nowego pliku i†zapa-
miÍtanie na dysku nie powoduje do-
dania go do projektu!
Aby dodaÊ
zbiÛr, musisz pos³uøyÊ siÍ polece-
niem
Project>Add node Source/Appli-
cation
(rys.
10
- skrÛt klawiszowy
Alt + Insert).
Nazwa dodanego w†ten sposÛb
pliku powinna pojawiÊ siÍ na liúcie
w†okienku
Project
znajduj¹cym siÍ
zazwyczaj na dole ekranu (rys.
11).
Podobnie postÍpuj z†innymi zbio-
rami projektu. Ja do³¹czy³em jeszcze
programator-asm-modul.a51.
Do³¹czaj
tylko pliki ürÛd³owe niewymienione
Rys. 13
po dyrektywie
#include
w†tekúcie
programu - te do³¹cz¹ siÍ automa-
tycznie przy pierwszym uøyciu.
Rys. 10
przez Ciebie zbiorem bÍdzie plik
ürÛd³owy programu w†jÍzyku C. Wy-
bierz wiÍc
C†Files.
Na ekranie poja-
wi siÍ okienko edytora, w†ktÛrym bÍ-
dziesz mÛg³ wpisaÊ program. Na
wszelki wypadek zapamiÍtaj utworzo-
ny zbiÛr, wybieraj¹c
File>Save as.
PamiÍtaj, aby zapisywany na dysku
zbiÛr ürÛd³owy mia³ inn¹ nazwÍ niø
projekt. Zapisywane pliki typu
C†Fi-
les
maj¹ domyúlnie nadawane rozsze-
rzenie
*.c.
ZapamiÍtuj¹c plik na dys-
Kompilowanie projektu
Aby skompilowaÊ tak utworzony
projekt, zapamiÍtaj wszystkie jego
pliki, wybieraj¹c
File>Save all.
Na-
stÍpnie z†menu
Project
wybierz
Make
all
(rys.
12)
lub pos³uø siÍ przycis-
kiem umieszczonym w†menu (rys.
13).
Jeúli napisa³eú program poprawnie
i†kompilacja przebieg³a bez b³ÍdÛw,
na dysku powstan¹ pliki wynikowe
o†nazwie identycznej z†nazw¹ projek-
tu i†rozszerzeniem
*.HEX
(lub/i
*.BIN).
W†innych przypadkach na do-
le ekranu wyúwietli siÍ informacja
o†b³Ídach.
Jacek Bogusz, AVT
jacek.bogusz@ep.com.pl
Rys. 11
Rys. 12
Elektronika Praktyczna 12/2002
101
Zgłoś jeśli naruszono regulamin