Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Funkcje w PHP ABK.
Programowanie w PMC.
Język C/C++ Funkcje.
Mechanizmy pracy równoległej
Dynamiczne struktury danych Listy, Kolejki, Stosy
Wykonał : Marcin Sparniuk
Odpytywanie - Polling Program czeka na nadejście danych z urządzenia i nie może wykonywać innych zadań. Urządzenie zewnętrzne dostarcza dane w trudnym.
Moduł 2. Struktury Systemów Komputerowych
PROGRAMOWANIE STRUKTURALNE
Przykład - Debugger Język pewnego procesora zawiera następujące instrukcje: MOV l, r l:=r ADD l, r l := l + r SUB l, r l := l - r JMP instr skok.
Wykład 7: Zmiennoprzecinkowe mikroprocesory sygnałowe firmy Analog Devices: zastosowania i rodziny architektura podstawowe operacje ALU.
Mapa pamięci mikrokontrolera
Podstawowe informacje dotyczące programowania systemów wbudowanych
Wykład 4 Przetwornik Analogowo-Cyfrowy
Podstawowe składniki funkcjonalne procesora i ich rola.
Wykład 5: Program Sequencer i struktura pamięci
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Komunikaty sterujące zestawu protokołów TCP/IP
ZARZĄDZANIE PROCESAMI
Liczniki (timery) mikroprocesora
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Układy wejścia-wyjścia
ogólne pojęcia struktury
Podstawy programowania
Podstawy programowania II
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Układy kombinacyjne cz.2
MCS51 - wykład 2.
MCS51 - wykład 5.
Mikroprocesor Z80 przerwania.
ogólne pojęcia struktury
Opracowanie: Maria W ą sik. Pierwsze komputery budowano w celu rozwi ą zywania konkretnych problemów. Gdy pojawiało si ę nowe zadanie, nale ż ało przebudowa.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Zasada działania komputera
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Etapy pracy biosu.
Złożone typy danych Listy Tworzenie elastycznych baz danych
Przerwanie ang. interrupt.
Maszyna wirtualna ang. virtual machine, VM.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
12. Input Capture – Wejście przechwytywania
Etapy uruchamiania systemu Pliki konfiguracyjne
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Wykład 3 Praca systemu komputerowego
Temat 7: Instrukcje warunkowe
Przerzutniki bistabilne
Procesor, pamięć, przerwania, WE/WY, …
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Układy i systemy mikroprocesorowe
I T P W ZPT Konwerter BIN2BCD 1 LK „8” DEC LK = 0 LOAD1 R3R2R1  K S3 S2S1 A B „5” K  5 MUX 1 0 A R4 LOAD2 Y = LD B LB „3” US Układ wykonawczy Układ sterujący.
Cechy kodu genetycznego
Model warstwowy ISO-OSI
Tryby adresowania i formaty rozkazów mikroprocesora
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
POLITECHNIKA POZNAŃSKA
Mikrokontrolery System przerwań
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
Wykład 3: Adresowanie i jednostki obliczeniowe w ADSP 21161N
Zapis prezentacji:

Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył Katedra Inżynierii Komputerowej Politechnika Częstochowska

Struktura systemu przerwań maskowalnych* w SAB 80C537 część 1

Struktura systemu przerwań maskowalnych w SAB 80C537, część 2

Rejestr sterujący IEN0

Rejestr sterujący IEN1

Rejestr sterujący IEN2

Podstawowe informacje dotyczące wykorzystywania przerwań, cz. 1 Każde przerwanie ma swoją flagę zgłoszenia ustawianą automatycznie przez urządzenie będące źródłem przerwania Flagi można również ustawić programowo symulując w ten sposób wystąpienie zgłoszenia żądania przerwania. Do każdej flagi zgłoszenia przerwania istnieje odpowiednia flaga zezwolenia, która pozwala (gdy ustawiona) lub zabrania (gdy skasowana) wykonania obsługi danego przerwania. Każde przerwanie ma swój wektor w tablicy wektorów przerwań. Jest to specyficzny adres, do którego zostanie przekazane sterowanie procesora w przypadku zezwolenia na obsługę danego przerwania. Niektóre z flag zgłoszenia przerwania zostają automatycznie (sprzętowo) skasowane zaraz po rozpoczęciu obsługi przerwania. Inne trzeba kasować programowo.

Podstawowe informacje dotyczące wykorzystywania przerwań, cz. 2 Procesor rozpoczynając obsługę przerwania wykonuje „skok” do właściwego wektora przerwań, wcześniej zapamiętując na stosie adres następnej instrukcji, która powinien wykonać gdyby nie wystąpiło przerwanie. Procedura obsługi przerwania powinna kończyć się instrukcję RETI (Return from Interrupt), która powoduje powrót do przerwanego miejsca wykonywania programu głównego. Wszelkie zmiany w rejestrach procesora, które zostały dokonane w trakcie działania procedury obsługi przerwania mogą mieć niekorzystny wpływ na wykonywanie przerwanego programu. Z tego powodu wartości używanych w procedurze obsługi przerwania rejestrów muszą być zapamiętane na początku procedury przerwania i odtworzone na jej końcu. Zezwolenie na obsługę przerwań może być sterowane dla całego systemu (globalnie) za pomocą bitu EAL.

Przykładowa procedura obsługi przerwań org 0x0000 ; adres początku kodu programu - tutaj początek tablicy wektorów ;przerwań JMP START ;Adres 0x0000 to wektor przerwania RESET – po resecie ma się ;rozpocząć wykonywanie programu od miejsca oznaczonego etykietą START org 0x000b ;Adres 0x000b to wektor przerwania Timer T0 ljmp procedura_przerwania_T0 RSEG PROGRAM ;informacja dla linkera - następne dane to kod programu START: ;(Z tego miejsca uruchomi sie program) ;... dowolne instrukcje SETB EAL ;globalne zezwolenie na przerwanie SETL ET0 ;zezwolenie na przerwania Timera T0 PETLA: ; Petla glowna programu ;... JMP PETLA ;@@@@@@@@@@@@@@@@@@@@@@@@@ procedura_przerwania_T0: push PSW ;odkładamy na stos używane rejestry push ACC ;Akumulator A – tutaj używamy nazwy ACC ;... pop ACC ;rejestry odtwarzamy w odwrotnej kolejności – stos to struktura LIFO (Last In First Out) pop PSW reti

Priorytety przerwań Priorytety przerwań ustalane są dla całych grup (dwójek lub trójek) według tabeli: za pomocą bitów w rejestrach IP1/0: oraz na podstawie schematu ze stron 2 oraz 3.

Priorytety przerwań Priorytety przerwań opisują zachowanie się systemu przerwań w przypadku jednoczesnego wystąpienia dwu lub więcej zgłoszeń żądań przerwań. Każde przerwanie ma zdefiniowany priorytet, który opisuje w jakiej kolejności (w stosunku do innych przerwań) zostanie wykonane. Przerwanie o najwyższym priorytecie zawsze zostanie wykonane w pierwszej kolejności i nie zostanie przerwane przez żadne inne przerwanie. Przerwanie o niższym priorytecie zostanie opóźnione jeśli aktualnie wykonuje się przerwanie o takim samym lub wyższym priorytecie. Przerwanie takie również (jeśli już się wykonuje) zostanie przerwane przez procedurę obsługi przerwania o wyższym priorytecie – jeśli nastąpi takie zgłoszenie.

Pytania kontrolne Opisać działanie flag zgłoszeń przerwań w systemie komputerowym. Jakie warunki muszą być spełnione aby procesor rozpoczął wykonywanie procedury obsługi wybranego przerwania Opisać zachowanie się systemu przerwań w przypadku jednoczesnego zgłoszenia dwu przerwań o różnych priorytetach. Podać podstawowe warunki jakie musi spełniać procedura obsługi przerwania w systemie z procesorem SAB 80C537 Jaki jest cel stosowania przerwań w tworzeniu oprogramowania systemów wbudowanych?