RC-51-6.pdf

(204 KB) Pobierz
Microsoft Word - RC-51-6.doc
http://www.easy-soft.tsnet.pl
Podstawy posługiwania się pakietem
Raisonance RIDE-51.
Pakiet RIDE firmy Raisonance to zbiór narzędzi umożliwiających pisanie i
uruchamianie programów w języku C i asemblera dla mikrokontrolerów ST62 firmy STM,
XA firmy Philips oraz różnych pochodzących z rodziny 8051. Ze względu na specyfikę
kolejnych odcinków kursu, pominę zagadnienia dotyczące środowiska programowania
ST62 i XA – zajmiemy się wyłączenia informacjami dotyczącymi mikrokontrolera 8051.
Nie oznacza to jednak, że uwzględniając specyfikę pominiętych mikrokontrolerów nie
można tu opisanych metod wykorzystać również i dla nich.
RIDE (Raisonance Integrated Development 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 mający możliwość podłączenia do sprzętowego emulatora,
edytor przystosowany do składni języków asembler oraz C (wyróżniane są słowa
kluczowe obu języków).
Wersję demonstracyjną pakietu można znaleźć na płycie CD dołączonej do EP
6/2002 oraz w Internecie, na przykład na stronie producenta pod adresem
http://www.raisonance.com/download.php czy też w dziale „Download” na tej stronie.
Polecam jednak stronę producenta, ponieważ tam zawsze umieszczana jest wersja
najnowsza.
Instalacja i uruchomienie.
Jeśli posiadasz oryginalną płytę od producenta, pakiet zainstaluje się prawie bez
twojego udziału. Program instalacyjny znajdujący się na płycie CD uruchamia się
automatycznie po umieszczeniu jej w napędzie. Jeśli natomiast pobrałeś wersję
instalacyjną z Internetu, poprzez „Plik” i „Uruchom” możesz rozpocząć instalację.
Po zainstalowaniu pakiet gotowy jest do pracy – bez żadnych dodatkowych
ustawień, czy też restartowania komputera. Ustawi rozdzielczość ekranu 800x600 lub
większą – łatwiej będzie odczytać pewne informacje. Po pierwszym uruchomieniu
zobaczysz tylko menu główne pakietu. Wcześniej nie otwierałeś żadnych plików, więc
ekran zawierał będzie wyłącznie otwarte okno programu i szare tło.
Menu główne.
Omówmy poszczególne, najbardziej dla nas w tym momencie użyteczne pozycje
menu. Nie jest moim celem pisanie instrukcji obsługi – tym niech zajmie się producent.
Chcę podać tyle informacji ile jest konieczne aby zacząć pracę.
Do napisania pierwszego programu w języku C wystarczy wybrać „ File” – „New” .
Następnie wybierz „C Files” i edytor gotowy jest do pracy. Możesz zawsze tak postępować
w przypadku prostych programów ale nie jest to metoda zbyt dobra. Dlaczego? Menu
zawiera pozycję „ Options” . Po jej wyborze ustawić można istotne dla programu
źródłowego oraz urządzenia docelowego parametry. W przypadku, gdy nie jest aktywny
żaden z projektów (opowiem o nich w dalszej części artykułu) ustawione parametry stają
się domyślnymi dla wszystkich tworzonych programów i wszystkich urządzeń, w których
mikrokontroler ma funkcjonować. Jest to na przykład typ mikrokontrolera i opcje jego
rozszerzeń. Rzadko zdarza się, że są one identyczne dla różnych urządzeń ale jeśli dla
przykładu wykorzystujesz tylko i wyłącznie jeden typ mikrokontrolera od określonego
J.Bogusz, Podstawy posługiwania się RIDE-51, Strona 1 z 10
220659646.011.png 220659646.012.png
http://www.easy-soft.tsnet.pl
producenta oraz twój program nie zawiera modułów w języku asembler – możesz wybrać
tę prostą metodę jako styl twojej pracy. Nie polecam tego jednak. Znacznie bardziej
efektywne jest posługiwanie się zbiorami projektów.
Każdy tworzony projekt to rodzaj obiektu, dla którego indywidualnie możesz
określić właściwości i składowe. Później otwarcie zapamiętanego projektu powoduje
przywrócenie cech środowiska, dla którego napisana została dana aplikacja – parametry
domyślne zostaną zastąpione właściwymi dla stosowanego przez Ciebie hardware.
Aby utworzyć projekt, wybierz z menu pozycję „ Project” – „New” . Pojawi się
okienko z pytaniem o miejsce, gdzie na dysku ma być zapamiętany twój projekt i jak ma
się on nazywać. Miejsce, które wskażesz zawierać będzie również zbiory wynikowe typu
HEX czy BIN. Osobiście przechowuję wszystkie projekty w jednym katalogu. Ułatwia mi
to ich archiwizację a selekcją zbiorów zajmuje się RIDE. System Windows oferuje nam
możliwość tworzenia nazw opisowych, więc należy z nich korzystać. Nazywaj swoje zbiory
w taki sposób, abyś mógł po jakimś czasie je rozpoznać. Tu jedna ważna uwaga – zbiór
projektu nie może mieć takiej samej nazwy jak któryś z jego składników. To znaczy jeśli
twój projekt nazywa się „ Kontroler-LCD” , to żaden z modułów nie może mieć tej samej
nazwy. Nie powinieneś tworzyć zbiorów „ Kontroler-LCD.c” albo też „ Kontroler-LCD.a51” .
Wytłumaczenie jest bardzo proste. Kompilator nie przetwarza całego kodu źródłowego,
lecz poszczególne jego moduły jeden po drugim. Na początku na przykład może być
kompilowany ten napisany w języku C, potem w języku asemblera. Na podstawie
zbiorów, nazwijmy je tak przejściowych, linker tworzy pojedynczy zbiór w formacie HEX
(czy BIN) przeznaczony do zapisania w pamięci mikrokontrolera. I tu docieramy do sedna
sprawy. Kompilator generując zbiory przejściowe używa tej samej nazwy, którą ma zbiór
źródłowy zmieniając jedynie rozszerzenia. Czyli wynikiem kompilacji „Kontroler-LCD.a51”
będzie „ Kontroler-LCD.obj” , podobnie jak „ Kontroler-LCD.c”.. . Łatwo jest więc wysnuć
wniosek, że nowo tworzone zbiory będą zastępowały te starsze. Być może ta wada
kompilatora RC-51 została usunięta w najnowszej wersji pakietu, jednak w tym
momencie opisuję stan faktyczny. Aby było zabawniej linker w czasie pracy wyświetla
mnóstwo komunikatów o zduplikowanych nazwach zmiennych, mimo iż teoretycznie
J.Bogusz, Podstawy posługiwania się RIDE-51, Strona 2 z 10
220659646.013.png 220659646.014.png 220659646.001.png
http://www.easy-soft.tsnet.pl
wszystko jest w porządku! Żmudne poszukiwania do niczego nie doprowadzają, mimo iż
rozwiązanie jest w zasięgu ręki...
Ustawianie opcji zbioru projektu.
Po otwarciu okienka nowego projektu, wpisz jego nazwę i wybierz model
mikrokontrolera. Ten wybór to bardziej wybór rodzaju kompilatora, aniżeli na przykład
nazw rejestrów. Te zdefiniujesz później dołączając zbiory definicji oraz określając pewne
własności sprzętu. Zakładam, że utworzyłeś już nowy projekt i że dotyczy on
mikrokontrolera z rdzeniem podobnym do 80C51. Wybierz OK. Teraz ustaw opcje
środowiska, dla którego pisany jest program. Wybierz „Option” – „Target” .
options-project-target.tif
Zaznacz „Harvard achitecture” , wybierz typ mikrokontrolera. Załóżmy, że do pierwszego
projektu będziesz używał AT89S8252 – wybierz więc na liście 8052. Nie jest to dokładnie
ten sam mikrokontroler ale bardzo do niego podobny. Wybierz OK.
Teraz kolejna grupa opcji, znacznie bardziej rozbudowana ale nie martw się –
typowo potrzebujesz ustawić tylko kilka z nich. Wybierz „Options” – „Project” . Raczej nie
musisz nic zmieniać w „Environment” i „Directories” . Są tam nastawy dotyczące
dołączanych zbiorów bibliotek oraz kolorów, czcionek i sposobów w jaki wyświetla
komunikaty kompilator. Najbliższą „gałęzią” drzewa „Options” , którą powinieneś się
zainteresować jest „RC51” . Zawiera ona wiele istotnych informacji dotyczących sposobu
funkcjonowania kompilatora:
jeśli nie używasz liczb zmiennopozycyjnych, zaznacz „No floating point” , w
przeciwnym wypadku proponuję „IEEE standard”,
J.Bogusz, Podstawy posługiwania się RIDE-51, Strona 3 z 10
220659646.002.png 220659646.003.png 220659646.004.png
http://www.easy-soft.tsnet.pl
wybierz zakładkę „ Memory Model” i zdecyduj, jakiego rodzaju modelu pamięci
będzie używał mikrokontroler (typowo wystarczy ci „ Small” : tego rodzaju nastawy
używam dla AT89S8252, gdy planowany rozmiar programu nie wykracza poza 8kB
pamięci FLASH), zaznacz opcje specjalne – dla AT89S8252 jest to „ Dual DPTR
ATMEL” ,
wskaż zakładkę „Optimizer” i zaznacz, czy kod wynikowy ma być optymalny pod
względem rozmiaru ( „Size” ), czy też szybkości wykonywania programu ( „Speed” );
zazwyczaj zaznaczam „Speed ”; nastawę „Optimizer level” możesz pominąć,
reszta parametrów właściwych RC51 nie jest aż tak ważna, przejdź teraz do grupy
LX51” i wybierz „Linker” , znajdziesz tu szereg bardzo istotnych nastaw; typowo
większość programatorów korzysta ze zbiorów wynikowych w formacie Intel Hex,
tak więc zostaw zaznaczoną opcję „ Generate an Intel Hex file” , jeśli natomiast
twój programator wymaga zbioru 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; na dole okienka masz jeszcze
możliwość określenia od jakiego miejsca w pamięci FLASH czy RAM umieszczony
zostanie kod wynikowy i zmienne – typowo nie potrzebujesz jednak zmieniać tych
nastaw,
J.Bogusz, Podstawy posługiwania się RIDE-51, Strona 4 z 10
220659646.005.png 220659646.006.png 220659646.007.png
http://www.easy-soft.tsnet.pl
Na tym możesz zakończyć ustawianie opcji projektu – wybierz OK. Jak zdążyłeś się
zapewne zorientować, w poszczególnych zakładkach znajduje się jeszcze wiele innych
użytecznych opcji, jednak do napisania pierwszej aplikacji w języku C dla AT89S8252
wystarczy to, co już poznałeś.
Dołączanie zbiorów źródłowych do projektu.
Poprzednio utworzyłeś zbiór projektu. Jest on jednak pusty, oprócz właściwości
nie zawiera żadnych składowych. Teraz postaram się nauczyć cię, jak do projektu dodać
już istniejące oraz nowe zbiory źródłowe.
Utworzenie nowego zbioru wymaga wybrania „File” – „New” . W zależności od
rodzaju tworzonego zbioru wybierz jego typ. Załóżmy, że tym pierwszym tworzonym
przez ciebie zbiorem będzie kod źródłowy programu w języku C. Wybierz więc „C Files” .
Na ekranie pojawi się okienko edytora, w którym będziesz mógł wpisać program. Na
wszelki wypadek zapamiętaj dopiero co utworzony zbiór, wybierając „File” – „Save as” .
Pamiętaj, aby zapisywany na dysku zbiór źródłowy miał inną nazwę niż projekt.
Zapisywane zbiory typu „C Files” mają domyślnie nadawane rozszerzenie „c”.
Zapamiętując zbiór na dysku nie musisz podawać rozszerzenia – zostanie one dodane
automatycznie. Inaczej jest ze zbiorami nagłówkowymi typu „h”. Tutaj po nazwie musisz
dopisać rozszerzenie. Ja zapamiętałem swój zbiór projektu pod nazwą „programator-ISP”
a moduł w języku C pod nazwą „programator-C-moduł”.
Utworzenie nowego zbioru i zapamiętanie na dysku nie powoduje dodania
go do projektu! Aby dodać zbiór musisz posłużyć się „ Project” – „Add node Source /
Application” (skrót klawiszowy Alt + Insert).
J.Bogusz, Podstawy posługiwania się RIDE-51, Strona 5 z 10
220659646.008.png 220659646.009.png 220659646.010.png
Zgłoś jeśli naruszono regulamin