emulator DS5000 i innych mikrokontlorerów rodziny '51 2


Emulator DS5000 i innych mikrokontrolerów rodziny  51
P R O J E K T Y
Emulator DS5000 i innych
mikrokontrolerów
rodziny  51, część 2
AVT-5029
pojawiĘ siÍ komunikat zgÅ‚oszenia,
zaÅ› ustawienia (zakres i partycja)
zostaną zmodyfikowane. Jeśli ma-
my do czynienia z mikrokontrole-
rem uływanym lub czystym, mo-
łe zachodziĘ koniecznośĘ odblo-
W drugiej czÍÅ›ci artykuÅ‚u
kowania lub ustawienia i wysła-
przedstawiamy sposÛb
nia wÅ‚asnych parametrÛw - uÅ‚y-
montału i programowania
wamy w tym celu odpowiednich
emulatora wykonanego Uruchomienie zestawu kontrolek. Wałna jest zgodnośĘ
Po zÅ‚oÅ‚eniu i wstÍpnym spraw- partycji z adresem startowym ze-
w oparciu o niezwykły
dzeniu pÅ‚ytki (schemat montaÅ‚o- wnÍtrznego RAM-u, ustawionym
mikrokontroler - DS5000.
wy na rys. 6) podłączamy ją do w opcjach linkera - w przeciw-
wolnego portu szeregowego kom- nym razie program nie zadziała.
putera kablem null-modem (po- O ile wszystko przebiegło po-
trzebne sÄ… tylko linie GND, TxD, myÅ›lnie (bez zgÅ‚aszania bÅ‚ÍdÛw
RxD, DTR). Wtyk testowy wkła- transmisji), mołemy zamknąĘ kon-
damy do dowolnej pÅ‚ytki testowej figuracjÍ i wysÅ‚aĘ program, dwu-
(uwaga na kierunek!). Do prÛb krotnie klikajÄ…c ikonÍ lewym przy-
mołe to byĘ zwykła podstawka ciskiem myszy. Wyświetlony pa-
dil z podÅ‚Ä…czonym zasilaniem +5V sek postÍpu pokaÅ‚e przebieg Å‚a-
i jakimś kontrolnym LED-em do dowania. Zrezygnowałem z kont-
migotania. WÅ‚Ä…czamy zasilanie. roli poprawnoÅ›ci ze wzglÍdu na
W oknie konfiguracji loadera usta- znaczne spowolnienie całej ope-
wiamy odpowiedni port oraz szyb- racji - po prostu obserwujemy
kośĘ (domyślna wynosi 19200 działanie programu po przełado-
baud, moÅ‚emy prÛbowaĘ na waniu, a dotychczasowa praktyka
57600, ale nie zawsze udaje siÍ wykazaÅ‚a, Å‚e takie uproszczone
bez zrywania). rozwiÄ…zanie nie sprawia proble-
Wybieramy przygotowany mÛw. Port szeregowy jest zajmo-
uprzednio dowolnym narzÍdziem wany tylko w chwilach komuni-
plik Intel Hex (po klikniÍciu na kacji z moduÅ‚em, moÅ‚emy wiÍc
pasku opisu pliku otwiera siÍ uruchamiaĘ dodatkowe programy
okno wyboru z domyślnymi roz- powiązane z naszym urządzeniem
szerzeniami *.hex oraz *.ihx). Na- bez zamykania loader.exe.
stÍpnie klikamy ìPobierz statusî Aplikacja zostaÅ‚a napisana
- w okienku podglądu powinien w Delphi 3. CałośĘ - łącznie z pli-
Elektronika Praktyczna 10/2001
37
Emulator DS5000 i innych mikrokontrolerów rodziny  51
2. Utworzona za pomocą gera nie jest kłopotem - przygo-
kompilatora Borland C++. towanie jego obsługi w środowis-
Jest samodzielna oraz (we- ku graficznym wymaga jeszcze
dług napotkanych przeze pracy. Na marginesie maleły
mnie opinii) szybsza w dzia- stwierdziĘ, łe o ile debugger zna-
Å‚aniu. Na razie nie posiada komicie pomaga w sprawdzaniu
jednak debuggera (ktÛry wy- przeliczeÒ, konwersji itp., to przy
stÍpuje w wersji Cygwin). uruchamianiu rzeczywistego ukÅ‚a-
KaÅ‚da z wersji jest kom- du z rÛÅ‚nymi transmisjami, prze-
pilatorem uruchamianym rwaniami i zalełnościami czaso-
konsolowo z linii komend. wymi bardzo czÍsto staje siÍ maÅ‚o
Nie jest to niestety zbyt przydatny. To jest wprawdzie su-
wygodne - zwłaszcza obec- biektywna opinia, ale przy pewnej
nie przy zaawansowanych wprawie czÍstokroĘ dokÅ‚adna ob-
i przyjaznych Å›rodowiskach serwacja zachowania siÍ progra-
graficznych. O ile nawet mu plus kilka sygnaÅ‚Ûw testo-
usprawnimy sobie pracÍ za wych przynoszÄ… szybsze rozwiÄ…-
pomocÄ… plikÛw wsadowych, zania niÅ‚ mozolne Å›ledzenie za-
to gÅ‚Ûwnym mankamentem wartoÅ›ci rejestrÛw przy pracy kro-
pozostaje analiza raportu bÅ‚Í- kowej.
Rys. 6. Rozmieszczenie elementów na
dÛw i mozolne odszukiwa- Na razie Å›rodowisko posiada
płytce drukowanej.
nie ich w kodzie ürÛdÅ‚o- nastÍpujÄ…ce moÅ‚liwoÅ›ci:
kami ürÛdÅ‚owymi oraz procedurÄ… wym. Dlatego rozpoczÄ…Å‚em skÅ‚ada- 1. Operacje plikowe: otwiera-
obsługi portu szeregowego - jest nie takiego uproszczonego, ama- nie, zamykanie i zapisywanie pli-
zamieszczona na stronie EP torskiego Å›rodowiska dla Win- kÛw. DotyczÄ… one zawsze pliku
w dziale ìDownloadî jako free- dows z uÅ‚yciem Delphi. Pomija w aktualnie widocznej zakÅ‚adce
ware. ono z zaÅ‚oÅ‚enia wiele elementÛw edytora.
znanych z pakietÛw profesjonal- 2. Operacje na caÅ‚ych projek-
Programowanie nych. Jego gÅ‚Ûwnym celem nie tach: otwieranie, zamykanie i za-
DuÅ‚a pamiÍĘ programu, jest tworzenie bardzo rozbudowa- pisywanie, dodawanie i usuwanie
a zwÅ‚aszcza znaczna pamiÍĘ da- nych aplikacji, ale uÅ‚atwienie plikÛw, ustawianie opcji.
nych pozwalają na swobodne sto- i uprzyjemnienie amatorskiego pi- Projekt obejmuje wykaz uływa-
sowanie w programowaniu sania Å›redniozaawansowanych nych plikÛw oraz konfiguracjÍ
DS5000 jÍzykÛw wysokiego pozio- programÛw w C. Ekran Å›rodowis- kompilatora. ZrezygnowaÅ‚em z ty-
mu - przede wszystkim C. Przez ka jest przedstawiony na rys. 7. powego oddzielnego okienka opi-
wiele lat gÅ‚ÛwnÄ… przeszkodÄ… byÅ‚y Jako edytor zostaÅ‚ wykorzysta- sujÄ…cego otwarty projekt - wszys-
wysokie ceny legalnych kompila- ny znakomity program TSynEdit. tkie pliki projektu sÄ… pokazane
torÛw. Jest on rÛwnieÅ‚ dostÍpny na jako zakÅ‚adki edytora. Dodanie
Obecnie dostÍpny jest freewa- zasadach Mozilla Public License lub usuniÍcie pliku jest rÛwno-
re'owy kompilator SDCC (Small lub General Public License. UmoÅ‚- znaczne z dodaniem lub usuniÍ-
Devices C Compiler), rozpo- liwia m.in.: bardzo sprawne i nie- ciem zakładki.
wszechniany na zasadach General zawodne kolorowanie skÅ‚adni, 3. Kompilacja plikÛw *.c
Public License. Jego autor, San- wszystkie typowe operacje edycyj- i *.asm do postaci relokowalnej
deep Dutta, stworzyÅ‚ go gÅ‚Ûwnie ne, wielopoziomowe cofanie UN- *.rel albo wynikowej *.ihx (Intel
z myślą o środowisku Linux. DO/REDO, sprawne wyszukiwanie Hex). SDCC dopuszcza jednorazo-
SDCC moÅ‚na jednak z powodze- i zastÍpowanie, do-
niem uÅ‚ywaĘ rÛwnieÅ‚ w syste- wolny wybÛr
mach Windows 9x. Wszelkie nie- czcionki, zaznacza-
zbÍdne programy ürÛdÅ‚owe i do- nie zakÅ‚adek na
kumentacje sÄ… dostÍpne na stronie marginesie i wiele
http://sdcc.sourceforge.net. Jeśli innych operacji.
nie chcemy samodzielnie kompi- Wszelkie informa-
lowaĘ plikÛw ürÛdÅ‚owych - mamy cje, pliki ürÛdÅ‚owe,
tam teł do pobrania pliki wyko- gotowe pakiety
nywalne. SÄ… w dodatku dostÍpne Delphi, programy
dwie wersje pakietu dla Win- demonstracyjne sÄ…
dows: dostÍpne na stro-
1. Utworzona za pomocÄ… bez- nie http://syne-
płatnego kompilatora C Cygwin. dit.sourceforge.net.
Nie mołe pracowaĘ samodzielnie, Wykonawczym
gdył korzysta z bibliotek Cygwi- kompilatorem jest
na. Wymaga to Å›ciÄ…gniÍcia i insta- SDCC w wersji
lacji caÅ‚ego Cygwina albo przynaj- ìBorlandî. Na tym
mniej potrzebnych komponentÛw. etapie brak debug-
Rys. 7. Ekran windowsowego środowiska dla SDCC.
Elektronika Praktyczna 10/2001
38
Emulator DS5000 i innych mikrokontrolerów rodziny  51
small+jawne deklaracje lokacji
WYKAZ ELEMENTÓW
zmiennych w razie potrzeby),
Rezystory
- stos (wewnÍtrzny - w obszarze
R1: 4,7k&!
IDATA, zewnÍtrzny - pierwsze
Kondensatory
256 bajtÛw w obszarze XDATA,
C1: 100nF
stosowanie zewnÍtrznego stosu
daje wiÍkszÄ… swobodÍ, ale kosz- C2, C3: 33pF
tem szybkoÅ›ci), C4: C7: elektrolit 10µF/25V
Rys. 8. Widok okna ustawiania
konfiguracji kompilatora. - rozmiar pamiÍci programu (uÅ‚y- Półprzewodniki
wany do alarmowania o prze-
U1: DS5000(T)
wo kompilacjÍ tylko pojedynczego kroczeniu pojemnoÅ›ci zastoso-
U2: MAX232 (lub odpowiednik)
pliku. Jeśli chcemy złołyĘ projekt wanego mikrokontrolera,
U3: 4052
z kilku moduÅ‚Ûw, musimy wczeÅ›- - ustawienie adresu startowego
U4: 4066
niej dodatkowe moduły skompi- RAM za obszarem programu -
Różne
lowaĘ do postaci relokowalnej opcja specjalnie dla DS5000.
X1: 11,059MHz
*.rel, tak Å‚eby linker miaÅ‚ je juÅ‚ 5. Lokalizacja bÅ‚ÍdÛw. W razie
JP 1: jumper
gotowe. Dodatkowo na pierwszej wystÄ…pienia bÅ‚ÍdÛw kompilacji ich
J1: gniazdo DB9M do druku
pozycji wywoÅ‚ania musi siÍ zna- wykaz jest pokazywany w oddziel-
Z1: gniazdo pionowe 40 pin
leüĘ moduÅ‚ funkcji main(). Te nym oknie. PodwÛjne klikniÍcie
płytka drukowana dwuwarstwowa
ograniczenia sÄ… na ekranie od- na linii opisu bÅ‚Ídu powoduje
taśma 40-żyłowa z wtykiem 40 pin
zwierciedlone nastÍpujÄ…co: przejÅ›cie do odpowiedniego miej-
i wtykiem testowym DIL40
- na pierwszej zakładce musi byĘ sca w kodzie programu (rys. 9).
ulokowany plik *.c z funkcjÄ… Mechanizm raportowania bÅ‚ÍdÛw
main (); SDCC nie zawsze dziaÅ‚a prawid- stÍpny jako freeware na zasadach
- komenda utworzenia pliku wy- łowo - jeśli nie jest podany numer Mozilla Public License/General
nikowego *.ihx jest aktywna wiersza, samoczynna lokalizacja Public License. Mołna go pobraĘ
tylko dla pierwszej zakÅ‚adki, nie jest moÅ‚liwa i trzeba rÍcznie ze strony Elektroniki Praktycznej.
wszystkie nastÍpne zakÅ‚adki pro- odszukaĘ bÅ‚Ä…d, korzystajÄ…c z ko- Tam teÅ‚ znajduje siÍ dodatkowy
jektu umołliwiają tylko utwo- mendy Szukaj edytora. plik opisu (gdył ładna pomoc na
rzenie *.rel. W najbliłszych planach rozwo- razie jeszcze nie powstała) oraz
Obecnie wszystkie potrzebne jowych programu przewiduje siÍ dokumentacja wspomnianych li-
pliki *.rel naleły utworzyĘ (lub wyposałenie go w: cencji.
aktualizowaĘ) samodzielnie. Brak - managera bibliotek, Jerzy Szczesiul, AVT
pliku *.rel lub jego aktualizacji - managera i edytor plikÛw na- jerzy.szczesiul@ep.com.pl
(tj. ponownej kompilacji po zmia- gÅ‚Ûwkowych,
nach wprowadzonych w kodzie) - ładowanie programu do symu- Wzory płytek drukowanych w for-
jest zaznaczany podkreÅ›leniem na- latorÛw (EPROM, DS5000) z po- macie PDF sÄ… dostÍpne w Internecie
zwy pliku na zakładce, w takiej ziomu środowiska. pod adresem: http://www.ep.com.pl/
sytuacji tworzenie *.ihx zostaje Cały projekt w Delphi (wraz ?pdf/pazdziernik01.htm oraz na płycie
wstrzymane z odpowiednim ko- z plikami ürÛdÅ‚owymi) jest do- CD-EP10/2001B w katalogu PCB.
munikatem. Jest to rozwiÄ…zanie
tymczasowe - program jest przy-
gotowany do wprowadzenia typo-
wych operacji make i build (cho-
ciaÅ‚ przy niezbyt ìrozdrobnio-
nychî projektach doskonale moÅ‚-
na siÍ bez nich obywaĘ).
4. Ustawianie opcji kompilacji
dla projektu. W tej chwili sÄ… to
tylko najbardziej ogÛlne ustawie-
nia (okienko opcji na rys. 8):
- model pamiÍci (wewnÍtrzny/
small - domyślną lokacją zmien-
nych jest obszar DATA, rozsze-
rzony/large - zmienne sÄ… domyÅ›-
lnie lokowane w XDATA; autor
Rys. 9. Sposób lokalizowania błędów w SDCC.
SDCC zaleca stosowanie
Elektronika Praktyczna 10/2001
39


Wyszukiwarka

Podobne podstrony:
emulator DS5000 i innych mikrokontrolerów
MIKROPROCESOROWE METODY STEROWANIA Mikrokontrolery rodziny MCS 51 [Cz I ]
L2 Mikrokontroler MCS 51
L1 Mikrokontroler MCS 51
Sterowanie drukarkÄ… przez mikrokontroler z rodziny 8051
Zestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2
emulator mikrokontrolerów PIC do PC
programator emulator mikrokontrolerów 89Cx051 (2)
Emulator mikrokontrolerów AT89Cx051
programator emulator mikrokontrolerów 89Cx051 (1)
51 kol (4)
Rozdział 51
rodzinka
Naturalne planowanie rodziny Anna Gabriela

więcej podobnych podstron