Sw3.6-m9-1.2-Slajd3

Z Studia Informatyczne
Wersja z dnia 10:37, 4 wrz 2006 autorstwa PZakrzewski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Systemy uruchomieniowe wykorzystujące program monitora

Systemy uruchomieniowe wykorzystujące program monitora


Schemat blokowy przykładowego systemu uruchomieniowego wykorzystującego program monitora został przedstawiony na rysunku. System taki wyposażony jest w program monitora (tzw. debugger) umieszczony w pamięci ROM. Program ten pozwala na przyjmowanie i wykonywanie poleceń wprowadzanych przez użytkownika za pomocą klawiatury. Po restarcie systemu mikroprocesor wykonuje program monitora, który po inicjalizacji oczekuje na polecenia umożliwiające: załadowanie programu użytkownika lub danych do pamięci, wyświetlenie zawartości pamięci, wykonanie programu od zadanego adresu, wykonanie programu w trybie pracy krokowej, wstawienie pułapek lub wyświetlenie oraz zmianę zawartości rejestrów mikroprocesora.

Program użytkownika może znajdować się albo w pamięci RAM albo w pamięci EPROM. Umieszczenie programu w pamięci RAM pozwala na bezpośrednią poprawę ewentualnych błędów bez konieczności reprogramowania pamięci.

W początkowym etapie uruchamiania, wygodnie jest wykonywać program użytkownika w trybie pracy krokowej. Wykonanie w tym trybie całego programu mogłoby jednak trwać bardzo długo, dlatego też istnieje możliwość wykonania określonych fragmentów programu. W tym celu należy wstawić do programu pułapki, po czym uruchomić program od zadanego adresu określonego przez zawartość licznika rozkazów. Wówczas program użytkownika wykonywany jest aż do miejsca, w którym została umieszczona pierwsza pułapka. Po czym sterowanie przejmuje program monitora, co pozwala na sprawdzenie efektów działania wykonanego fragmentu programu, a następnie wykonanie kolejnego.

Podstawową wadą systemu uruchomieniowego wykorzystującego program monitora jest ograniczenie zasobów mikroprocesora, a tym samym jego możliwości. Ograniczenia te wynikają z dwóch powodów: konieczności umieszczenia programu monitora w przestrzeni adresowej danego mikroprocesora, co powoduje ograniczenie wielkości pamięci dostępnej dla programu użytkownika oraz konieczności zapewnienia komunikacji między użytkownikiem a programem monitora, co powoduje zablokowanie łącza szeregowego lub portu wejścia/wyjścia.


<< Poprzedni slajd | Spis treści | Następny slajd >>