Laboratorium Mikroinformatyki. Emulatory Sprzętowe

Podobne dokumenty
Systemy uruchomieniowe

Opis efektów kształcenia dla modułu zajęć

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

2. Architektura mikrokontrolerów PIC16F8x... 13

dokument DOK wersja 1.0

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

KARTA PRZEDMIOTU KARTA PRZEDMIOTU

Architektura komputerów

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

2. PRZERZUTNIKI I REJESTRY

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Śląska w Gliwicach

MIKROKONTROLERY I MIKROPROCESORY

Podstawy elektroniki i miernictwa

KARTA PRZEDMIOTU. 2. Kod przedmiotu: MK_ Nazwa przedmiotu: SYSTEMY MIKROPROCESOROWE I WBUDOWANE

Wstęp Architektura... 13

Działanie systemu operacyjnego

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Działanie systemu operacyjnego

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

LEKCJA TEMAT: Zasada działania komputera.

imei Instytut Metrologii, Elektroniki i Informatyki

Opracował: Jan Front

Szkolenia specjalistyczne

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Architektura komputerów

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Działanie systemu operacyjnego

Budowa Mikrokomputera

Działanie systemu operacyjnego

WPROWADZENIE Mikrosterownik mikrokontrolery

PRZEWODNIK PO PRZEDMIOCIE

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Narzędzia programowe

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

MSP&IRED&Energia /6. Rys. xx Rozmieszczenie wyprowadzeń procesora [xx]

Technika Cyfrowa. Badanie pamięci

Katedra Systemów Automatyki Automatyka i Robotyka. Obszary kształcenia. Nauki techniczne

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Wykład Mikroprocesory i kontrolery

PRZEWODNIK PO PRZEDMIOCIE

1.2. Architektura rdzenia ARM Cortex-M3...16

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Podstawy programowania

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Rok akademicki: 2015/2016 Kod: IIN s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

PROGRAMOWALNE STEROWNIKI LOGICZNE

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Programowanie w językach asemblera i C

Instytut Teleinformatyki

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Technika Mikroprocesorowa

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

PRZEWODNIK PO PRZEDMIOCIE

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

KARTA PRZEDMIOTU. Architektura Komputerów C4

PRZEWODNIK PO PRZEDMIOCIE

PRUS. projekt dokumentacja końcowa

Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

KOMPUTEROWE SYSTEMY POMIAROWE

PRZEWODNIK PO PRZEDMIOCIE

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Techniki mikroprocesorowe i systemy wbudowane

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

WYMAGANIA EDUKACYJNE Z PRZEDMIOTU DIAGNOZA I NAPRAWA SYSTEMÓW KOMPUTEROWYCH

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Technika mikroprocesorowa

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Architektura i administracja systemów operacyjnych

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Laboratorium Mikroinformatyki Emulatory Sprzętowe

Co to jest Emulator? Emulator sprzętowy (In Circuit Emulator - ICE) jest nieocenionym narzędziem wspomagającym programistę przy tworzeniu oprogramowania dla systemów mikroprocesorowych. Mikroprocesor lub mikrokomputer jednoukładowy zastosowany w docelowym urządzeniu jest zastępowany przez emulator. Najczęściej w układ włączana jest sonda sterowana przez zasadniczą część emulatora za pośrednictwem wielożyłowego przewodu. Emulator może zastępować pracujący mikroprocesor w czasie rzeczywistym. Programista łąduje program wykonywalny do emulatora, który umożliwia mu wykonywanie programu w całości, zatrzymywanie go w dowolnym momencie, wykonywanie programu krokowo lub zastawianie pułapek. Większość emulatorów posiada wiele zaawansowanych funkcji jak analiza szybkości wykonywania programu, analiza przebiegu ścieżek programu, analiza danych, zaawansowane możliwości definicji warunków zatrzymywania programu (pułapki). W skład sondy lub samego emulatora wchodzi procesor, który jest emulowany. Często jest to specjalna wersja takiego układu z wyprowadzonymi na zewnątrz wewnętrznymi sygnałami sterującymi i magistralami. Umożliwia on pełną analizę zawartości rejestrów mikroprocesora. Emulator jest jednym z wielu narzędzi uruchomieniowych, jest jednak narzędziem najbardziej uniwersalnym. Systemy mikrokomputerowe są trudniejsze w uruchamianiu niż programy uruchamiane na komputerach osobistych. W większości przypadków nie posiadają wygodnego i przejrzystego wyświetlacza i wielostykowej klawiatury co utrudnia wprowadzanie informacji oraz przeglądanie stanu rejestrów i pamięci urządzenia. Emulator jest jesnym z najstarszych narzędzi uruchomieniowych dla takich systemów. Jest jedynym urządzeniem, które zastępuje mikroprocesor własnym i dzięki temu daje projektantowi możliwość pełnej kontroli zarówno nad tworzonym oprogramowaniem jak i nad pozostałą sprzętową częścią projektu. Za pomocą wyrafinowanych technik monitoruje wszystko co dzieje się w układzie dając pełny wgląd w działanie poszczególnych operacji. Jest mostem pomiędzy docelowym urządzeniem a komputerem osobistym, na którym tworzone jest oprogramowanie.

Wybrane funkcje emulatora. Dostęp do sprzętu. Najważniejszą funkcją emulatora jest pełny dostęp do urządzenia docelowego: możliwość sprawdzania i zmiany zawartości rejestrów, pamięci oraz stanów wejść i wyjść. Pozwala to na testowanie wadliwie działającego oprogramowania, ale przede wszystkim na wykrywanie błędów w projekcie sprzętu. Można na przykład, po napisaniu odpowiedniego oprogramowania, wykrywać usterki w układzie elektronicznym za pomocą oscyloskopu. Punkty zatrzymania. Punkty zatrzymania (breakpoint) to kolejna ważna funkcja emulatorów. Dają możliwość wstrzymania wykonywania programu w wybranym jego miejscu lub przy wystąpieniu określonych warunków. Zatrzymywanie może również nastpować po każdej wykonanej instrukcji asemblerowej lub po grupie instrukcji tworzących linię programu w języku wysokiego poziomu. Istnieje znacząca różnica pomiędzy dwoma typami punktów zatrzymania używanych przez programy uruchomieniowe. Programowe punkty zatrzymania działają na zasadzie zastąpienia wybranej instrukcji instrukcją przerwania. Jest niemożliwe stosowanie takich punktów w programie zawartym w pamięci stałej ROM. Emulatory umożliwiają ustalanie sprzętowych punktów zatrzymania, które sprawdzają warunki wstrzymywania wykonywania programu przed każdą wykonywaną instrukcją. Sprzętowe punkty zatrzymania działają zarówno dla programów zapisanych w pamięci RAM jak i ROM, nawet dla nieużywanych zakresów przestrzeni adresowej mikroprocesora. Pamięć programu. Program wynikowy jest zwykle przechowywany w pamięci stałej typu ROM, EEPROM lub Flash. Podczas uruchamiania zwykle istnieje potrzeba wielokrotnego przeprogramowania tej pamięci coraz to nową wersją oprogramowania. Emulatory przechowują program w wewnętrznej, szybkiej pamięci RAM, która jest logicznie przemapowywana w miejsce pamięci programu mikroprocesora pozwalając na wielokrotne szybkie przeładowanie kodu programu. Ochrona pamięci. Wiele emulatorów jest wyposażonych w mechanizmy ochrony pamięci przed nieoczekiwanymi odwołaniami. Program jest zatrzymywany kiedy przykładowo podejmie próbę zapisu do niedozwolonego obszaru pamięci w tym również do części pamięci zawierającej program. Symulacja. Za pomocą emulatora można uruchamiać oprogramowanie bez działającej części sprzętowej urządzenia. W takim przypadku emulator zachowuje się podobnie jak symulator wybranego mikroprocesora. Śledzenie. Śledzenie (trace) w czasie rzeczywistym jest jedną z ważniejszych opcji emulatorów, dostępną praktycznie wyłącznie przy ich użyciu. Śledzenie zapamiętuje wyniki działającego z pełną prędkością programu w buforze. Zachowuje stan nawet kilkuset tysięcy cykli mikroprocesora zapamiętując stan wybranych rejestrów, wystawiane adresy, pobierane instrukcje i przesyłane dane. Oprogramowanie emulatora pozwala na przetłumaczenie

zawartości bufora na program asemblerowy lub nawet na program w języku wysokiego poziomu ułatwiając jego analizę. Mechanizmy wyzwalania. Śledzenie jest zawsze powiązane z zaawansowanymi mechanizmami wyzwalania (trigger). W zależnosci od wyników działania programu można ustalić warunki rozpoczęcia i zakończenia śledzenia. Przykładowo można zapamiętać i prześledzić działanie rzadko wywoływanej procedury obsługi przerwania. Problemy występujące w praktyce. Problemy jakie mogą pojawić się przy używaniu emulatorów podczas uruchamiania urządzeń związane są z szybką ewolucją mikroprocesorów. Producenci prześcigają się w miniaturyzacji układów scalonych i zwiększaniu prędkości ich działania. Małe układy wymagają precyzyjnych sond i sprawiają trudności w połączeniu zwłaszcza przy montażu powierzchniowym SMD. Szybkości mikroprocesorów sięgające setek MHz również utrudniają pracę emulatorów. Aby w pełni emulować pracę mikroprocesora w czasie rzeczywistym muszą nadążyć z prędkością działania. Przszkodą są zwykle przewody łączące sondę z główną częścią emulatora, które przy dużych częstotliwościach pracy zachowują się jak linia długa. Pewnym utrudnieniem mmoże być również mnogość opcji i funkcji dostępnych w oprogramowaniu obsługującym emulator. Wielu użytkowników potrzebuje jedynie podstawowych opcji. Bardziej zaawansowane funkcje pułapek, śledzenia i wyzwalania potrzebne są wyłącznie do uruchamiania bardzo złożonych projektów. Opracowane na podstawie Introduction to In-Circuit Emulators Jack Ganssle, Embedded Systems Programming. Cel ćwiczenia laboratoryjnego. W laboratorium są dostępne dwa stanowiska wyposażone w emulatory mikrokomputerów jednoukładowych serii 8051. Jeden emulator posiada sondę emulującą mikrokontroler 80C32 i pracuje pod kontrolą programu przeznaczonego dla systemu MS-DOS. Drugi emulator, pracujący pod kontrolą oprogramowania działającego w systemie Windows, posiada sondę dla mikrokontrolera Dallas 80C320. Sondy obu emulatorów są podłączone do układów testowych. Płytki testowe są wyposażone w dwa układy scalone komunikujące się z mikrokontrolerem za pośrednictwem magistrali I2C oraz w wejścia cyfrowe (przełączniki) i wyjścia sygnalizacyjne (dwukolorowa dioda LED). Układy I2C będą wykorzystane do ćwiczenia 15 - Szeregowe Magistrale Synchroniczne. W poniższej tabeli podano przyporządkowanie wejść i wyjść wyprowadzeniom mikrokomputera jednoukładowego. Wejście/Wyjście Element Port mikrokomputera Wejście Przełącznik P3.5 Wyjście LED zielona P1.2 Wyjście LED czerwona P1.3 Niniejsze ćwiczenie ma za zadanie zaznajomienie studentów z działaniem emulatora i jego wykorzystania w uruchamianiu prostych programów oraz nabycie podstaw umiejętności pisania programów w języku asemblera procesorów zgodnych z 8051.

Przebieg ćwiczenia. - Zaznajomienie z podstawowymi rozkazami procesorów 8051. - Demonstracja prostego programu napisanego w języku asemblera. - Demonstracja przebiegu edycji i asemblacji programu, omówienie plików wynikowych. - Demonstracja działania emulatora wraz z oprogramowaniem w systemie DOS i Windows. - Demonstracja podstawowych funkcji emulatora: o Ładowanie programu o Uruchomienie programu o Praca krokowa o Ustawianie punktów zatrzymania o Przeglądanie zawartości rejestrów o Przeglądanie zawartości pamięci - Wykonanie zadania podanego przez prowadzącego. - Kontrola wykonania zadania. Sprawozdanie. Sprawozdanie musi zawierać następujące elementy: - Stronę tytułową zgodną z podanym wzorcem, zawierającą nazwiska wszystkich biorących udział w ćwiczeniu osób. - Treść zadania podanego przez prowadzącego. - Program skomentowany będący rozwiązaniem zadania. - Wnioski z ćwiczenia. Zaliczenie i ocena ćwiczenia. Ocena z ćwiczenia jest średnią z dwóch ocen: - Oceny za sprawozdanie (z wagą 1). - Oceny ze sprawdzianu pisemnego (z wagą 2). Sprawdzian obejmuje umiejętność napisania prostego programu asemblerowego dla procesorów zgodnych z 8051. Prowadzący może oceniać również przygotowanie do ćwiczenia oraz przebieg ćwiczenia. Literatura. - Lista rozkazów mikrokomputera jednoukładowego serii 8051 - dostępna na laboratorium i na stronie www ZMiTAC. - Dowolna książka opisująca mikrokomputery serii 8051, przykładowo: o Henryk Małysiak: "Mikrokomputery jednoukładowe serii MCS48, MCS51, MCS96", Wydawnictwo Pracowni Jacka Skalmierskiego, Gliwice 1992. o Andrzej Rydzewski: "Mikrokomputery jednoukładowe rodziny MCS-51", WNT, Warszawa 1999.