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ówMIKROPROCESOROWE METODY STEROWANIA Mikrokontrolery rodziny MCS 51 [Cz I ]L2 Mikrokontroler MCS 51L1 Mikrokontroler MCS 51Sterowanie drukarką przez mikrokontroler z rodziny 8051Zestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2emulator mikrokontrolerów PIC do PCprogramator emulator mikrokontrolerów 89Cx051 (2)Emulator mikrokontrolerów AT89Cx051programator emulator mikrokontrolerów 89Cx051 (1)51 kol (4)Rozdział 51rodzinkaNaturalne planowanie rodziny Anna Gabrielawięcej podobnych podstron