Wykład 9. Obsługa przerwań
|
|
- Krzysztof Dziedzic
- 9 lat temu
- Przeglądów:
Transkrypt
1 Wykład 9
2 Kontroler przerwań Kontroler NVIC udostępnia globalne maskowanie przerwań, ustawianie priorytetów i funkcji obsługi. Procesor LM3S6965 umożliwia obsługę 38 przerwań. Każde przerwanie może być indywidualnie maskowane, dodatkowo przerwanie rdzenia może być globalnie maskowane (bez wpływania na maski ustawione indywidualnie dla każdego z przerwań).
3 Kontroler przerwań Kontroler przerwań jest bezpośrednio sprzężony z rdzeniem mikrokontrolera. Kiedy procesor otrzymuje sygnał przerwania, NVIC udostępnia adres procedury obsługi przerwania bezpośrednio do procesora. Eliminuje to potrzebę odpytywania kontrolera NVIC, w celu określenia adresu obsługi i skoku do odpowiedniej funkcji. Dzięki temu redukowany jest czas obsługi przerwania.
4 Kontroler przerwań Interrupt handling is micro-coded. No instruction overhead Entry Automatically pushes registers R0 R3, R12, LR, PSR, and PC onto the stack In parallel, ISR is pre-fetched on the instruction bus. ISR ready to start executing as soon as stack PUSH complete A late-arriving interrupt will restart ISR pre-fetch, but state saving does not need to be repeated Exit Processor state is automatically restored from the stack In parallel, interrupted instruction is pre-fetched ready for execution upon completion of stack POP Stack POP can be interrupted, allowing new ISR to be immediately executed without the overhead of state saving
5 Kontroler przerwań Interrupt handling is micro-coded. No instruction overhead Entry Automatically pushes registers R0 R3, R12, LR, PSR, and PC onto the stack In parallel, ISR is pre-fetched on the instruction bus. ISR ready to start executing as soon as stack PUSH complete A late-arriving interrupt will restart ISR pre-fetch, but state saving does not need to be repeated Exit Processor state is automatically restored from the stack In parallel, interrupted instruction is pre-fetched ready for execution upon completion of stack POP Stack POP can be interrupted, allowing new ISR to be immediately executed without the overhead of state saving
6 Interrupt Latency - Tail Chaining Highest IRQ1 IRQ2 42 CYCLES ARM7 Interrupt handling in assembler code PUSH ISR 1 POP PUSH ISR 2 POP Tail-chaining Cortex-M3 Interrupt handling in HW PUSH ISR 1 ISR 2 POP CYCLES ARM7 26 cycles from IRQ1 to ISR1 entered Up to 42 cycles if LSM 42 cycles from ISR1 exit to ISR2 entry 16 cycles to return from ISR2 Cortex-M3 12 cycles from IRQ1 to ISR1 entered 12 cycles if LSM 6 cycles from ISR1 exit to ISR2 entry 12 cycles to return from ISR2 Pre-emption
7 Interrupt Latency Pre-emption Highest IRQ1 IRQ2 42 CYCLES ARM7 ISR 1 POP PUSH 2 ISR 2 POP Cortex-M3 ISR 1 POP ISR POP CYCLES ARM7 Load Multiple uninterruptible, and hence the core must complete the POP and the full stack PUSH Cortex-M3 POP may be abandoned early if another interrupt arrives If POP is interrupted it only takes 6 cycles to enter ISR2 ( Equivalent to Tail -chaining) Late Arrival
8 Interrupt Latency Late Arriving IRQ1 Highest IRQ2 ARM7 PUSH PUSH ISR 1 POP ISR 2 POP Cortex-M3 PUSH ISR 1 ISR 2 POP 6 Tail- Chaining 12 ARM7 Cortex-M3 26 cycles to ISR2 entered Immediately pre-empted by IRQ1 and takes a further 26 cycles to enter ISR 1 ISR 1 completes and then takes 16 cycles to return to ISR 2 Stack push to ISR 2 is interrupted Stacking continues but new vector address is fetched in parallel 6 cycles from late-arrival to ISR1 entry Tail-chain into ISR 2 Peripherals
9 Kontroler przerwań Priorytety kontrolera przerwań umożliwiają obsługę przerwań o wyższym priorytecie przed przerwaniami o niższym priorytecie, a także umożliwiają przerywanie przerwań o niższym priorytecie przez przerwania o wyższym priorytecie. Umożliwia to skrócenie czasu odpowiedzi ( na przykład przerwanie systemowe czasie trwania 1ms nie jest blokowane przez trwające 1 s przerwanie o niższym priorytecie). Dodatkowo możliwe są podpriorytety dla przerwań o tym samym priorytecie. Dla takich przerwań nie ma możliwości wywłaszczenia, wykorzystywane jest do ich obsługi szeregowanie (tail chaining).
10 Tryby pracy procesora Procesor wspiera dwa tryby pracy, tryb Thread i tryb Handler: tryb Thread jest uruchamiany po resecie i jest ustawiany po powrocie z obsługi wyjątku. W trybie tym może być uruchamiany kod uprzywilejowany (Privileged) lub kod użytkownika (User), tryb Handler jest uruchamiany po wystąpieniu wyjątku. Kod uruchamiany w tym trybie jest kodem uprzywilejowanym.
11 Wyjątki, błędy i przerwania Wyjątki mogą być generowane poprzez wywołanie instrukcji generującej wyjątek, lub wyzwalane jako odpowiedź na zachowanie systemu takie jak: przerwanie, zarządzanie pamięcią, wyrównywanie (alignment), błąd magistrali, wyjątek debugera. Architektura umożliwia rozróżnienie wyjątków synchronicznych i asynchronicznych.
12 Obsługa wyjątków Procesor i kontroler przerwań ustalają pierwszeństwo i obsługują wszystkie wyjątki. Wyjątki obsługiwane są w trybie Handler. Stan procesora jest automatycznie składowany na stosie po wystąpieniu wyjątku i automatycznie odkładany po zakończeniu obsługi Interrupt Service Routine (ISR). Następujące rejestry są odkładane na stosie: Program Counter (PC), Processor Status Register (xpsr), r0-r3, r12, Link Register (LR).
13 Obsługa wyjątków Rysunek przedstawia kolejność na stosie poszczególnych rejestrów. Wektor obsługi przerwania jest równolegle pobierany z zapisem stanu, co skraca czas obsługi wyjątku.
14 Typy wyjątków Typ wyjątku Pozycja Priorytet Opis Wierzchołek stosu jest ładowany w czasie resetu z pierwszej pozycji tablicy wektorów przerwań Reset 1-3(highest) Non-maskable Interrupt Wywoływany po włączeniu zasilania i miękkim resecie. Na pierwszej instrukcji zmniejszany na niższy priorytet (Thread mode). Asynchroniczny. 2-2 Nie może być zatrzymany i wywłaszczony przez żaden wyjątek poza resetem. Asynchroniczny. Hard Fault 3-1 Wszystkie rodzaje błędów. Asynchroniczny. Memory Management 4 ustawiany Problemy z Memory Protection Unit (MPU), włączając błędy dostępu, niedostępność. Asynchroniczny. Bus Fault 5 ustawiany Błędy w czasie pobierania instrukcji, błędy dostępu do pamięci. Usage Fault 6 ustawiany Błędy użycia, takie jak niezdefiniowana instrukcja, próba nieprawidłowej zmiany stanu. Synchroniczny.
15 Typy wyjątków Typ wyjątku Pozycja Priorytet Opis Zarezerwowane. SVCall 11 ustawiany Debug monitor 12 ustawiany Wywoływanie funkcji systemowej instrukcją SVC. Synchroniczny. Monitor debugera, kiedy nie jest wstrzymany. Synchroniczny Zarezerwowany. PendSV 14 ustawiany SysTick 15 ustawiany Żądanie obsługi systemowej. Asynchroniczny. Wyzwalany tylko programowo. Zegar systemowy jest uruchomiony. Asynchroniczny. External interrupt 16 i większy ustawiany Wywoływany z zewnątrz rdzenia, INTISR[239:0] i przekazywany przez NVIC. Asynchroniczny.
16 Kontroler przerwań Kontroler przerwań (Nested Vectored Interrupt Controller (NVIC)) umożliwia obsługę do 240 przerwań z programowym przyporządkowywaniem priorytetów przerwań.
17 Kontroler przerwań Można przyporządkować poziomy od 0 do 255 do przerwań, poprzez zapisanie ośmiu bitów pól PRI-N w rejestrze Interrupt Priority Register. Sprzętowy priorytet zmniejsza się wraz ze zwiększaniem numeru przerwania. Priorytet 0 jest najwyższym priorytetem, a 255 najniższym. Ustawiane priorytety nadpisują sprzętowe priorytety. Jeżeli na przykład przyporządkujemy priorytet 1 do IRQ[0] i prorytet 0 do IRQ[31], to wtedy IRQ[31] ma wyższy priorytet niż IRQ[0]. Najwyższy priorytet możliwy do ustawienia przez użytkownika wynosi 0. Jest on przetwarzany jako czwarty w kolejności po Reset, NMI i Hard Fault. Priorytet 0 jest domyślnym priorytetem dla wszystkich ustawialnych priorytetów.
18 Kontroler przerwań Ustawianie priorytetów programowo nie wpływa na priorytet Reset, NMI i Hard Fault. Mają one zawsze wyższy priorytet od przerwań zewnętrznych. Jeżeli przyporządkujemy ten sam poziom priorytetu dla dwóch lub więcej przerwań, to wtedy ich sprzętowy priorytet (niższy numer pozycji) będzie decydował o kolejności przyjmowania przerwań przez procesor. Na przykład jeżeli przerwania portów IRQ[0] (GPIO Port A) i IRQ[1] (GPIO Port B) mają ustawiony priorytet 1, wtedy IRQ[0] ma wyższy priorytet niż IRQ[1].
19 Przerwania wyzwalane poziomem i zboczem Procesor umozliwia generowanie przerwań wyzwalanych poziomem i zboczem sygnału. Przerwanie wyzwalane poziomem jest utrzymywane do momentu, kiedy zostanie skasowane w rejestrach ISR. W celu wykrycia zbocza przerwania jest ono próbkowane przy narastającym zboczu zegara HCLK. Dla przerwań wyzwalanych poziomem, jeżeli sygnał zgłoszenia nie jest zdjęty do zakończenia obsługi przerwania, to przerwanie jest ponownie aktywowane. Obsługa tego typu jest przydatna przy buforach FIFO i urządzeniach z buforowaniem danych, ponieważ jeden sygnał zgłoszenia przerwania może być wykorzystany do wielokrotnego wywołania funkcji obsługi przerwania, aż do opróżnienia bufora.
20 Przerwania wyzwalane poziomem i zboczem Przerwanie wyzwalane zboczem może być odblokowane w trakcie obsługi, dzięki czemu może być w stanie aktywnym i obsługi w tym samym czasie. Drugie przerwanie nie jest obsługiwane w trakcie obsługi pierwszego. Jeżeli zgłoszenie nastąpi w ostatnim cyklu to jest ono zapamiętywane.
21 Tabela wektorów przerwań w pliku startup.s. ;****************************************************************************** ; ; The vector table. ; ;****************************************************************************** EXPORT Vectors Vectors DCD StackMem + Stack ; Top of Stack DCD Reset_Handler ; Reset Handler DCD NmiSR ; NMI Handler DCD FaultISR ; Hard Fault Handler DCD IntDefaultHandler ; MPU Fault Handler DCD IntDefaultHandler ; Bus Fault Handler DCD IntDefaultHandler ; Usage Fault Handler DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved DCD IntDefaultHandler ; SVCall Handler DCD IntDefaultHandler ; Debug Monitor Handler DCD 0 ; Reserved DCD IntDefaultHandler ; PendSV Handler DCD IntDefaultHandler ; SysTick Handler DCD IntDefaultHandler ; GPIO Port A DCD IntDefaultHandler ; GPIO Port B DCD IntDefaultHandler ; GPIO Port C DCD IntDefaultHandler ; GPIO Port D DCD IntDefaultHandler ; GPIO Port E
22 Tabela wektorów przerwań w pliku startup.s. DCD IntDefaultHandler ; UART0 DCD IntDefaultHandler ; UART1 DCD IntDefaultHandler ; SSI DCD IntDefaultHandler ; I2C DCD IntDefaultHandler ; PWM Fault DCD IntDefaultHandler ; PWM Generator 0 DCD IntDefaultHandler ; PWM Generator 1 DCD IntDefaultHandler ; PWM Generator 2 DCD IntDefaultHandler ; Quadrature Encoder DCD IntDefaultHandler ; ADC Sequence 0 DCD IntDefaultHandler ; ADC Sequence 1 DCD IntDefaultHandler ; ADC Sequence 2 DCD IntDefaultHandler ; ADC Sequence 3 DCD IntDefaultHandler ; Watchdog DCD IntDefaultHandler ; Timer 0A DCD IntDefaultHandler ; Timer 0B DCD IntDefaultHandler ; Timer 1A DCD IntDefaultHandler ; Timer 1B DCD IntDefaultHandler ; Timer 2A DCD IntDefaultHandler ; Timer 2B DCD IntDefaultHandler ; Comp 0 DCD IntDefaultHandler ; Comp 1 DCD IntDefaultHandler ; Comp 2 DCD IntDefaultHandler ; System Control DCD IntDefaultHandler ; Flash Control
23 Tabela wektorów przerwań w pliku startup.s. DCD IntDefaultHandler ; GPIO Port F DCD IntDefaultHandler ; GPIO Port G DCD IntDefaultHandler ; GPIO Port H DCD IntDefaultHandler ; UART2 Rx and Tx DCD IntDefaultHandler ; SSI1 Rx and Tx DCD IntDefaultHandler ; Timer 3 subtimer A DCD IntDefaultHandler ; Timer 3 subtimer B DCD IntDefaultHandler ; I2C1 Master and Slave DCD IntDefaultHandler ; Quadrature Encoder 1 DCD IntDefaultHandler ; CAN0 DCD IntDefaultHandler ; CAN1 DCD 0 ; Reserved DCD IntDefaultHandler ; Ethernet DCD IntDefaultHandler ; Hibernate
24 Rejestry kontrolera przerwań Rejestry kontrolera NVIC zawarte są w przestrzeni rejestrów systemowych (System Control space). Przestrzeń kontrolera przerwań można podzielic następujaco: 0xE000E000-0xE000E00F. Interrupt Type Register 0xE000E010-0xE000E0FF. System Timer 0xE000E100-0xE000ECFF. NVIC 0xE000ED00-0xE000ED8F. System Control Block, including: CPUID System control, configuration, and status Fault reporting 0xE000EF00-0xE000EF0F. Software Trigger Exception Register 0xE000EFD0-0xE000EFFF. ID space.
25 Tabela rejestrów Nazwa rejestru Typ Adres Wartość po resecie Interrupt Control Type Register Read-only 0xE000E004 a SysTick Control and Status Register Read/write 0xE000E010 0x SysTick Reload Value Register Read/write 0xE000E014 Unpredictable SysTick Current Value Register Read/write clear 0xE000E018 Unpredictable SysTick Calibration Value Register Read-only 0xE000E01C STCALIB Irq 0 to 31 Set Enable Register Read/write 0xE000E100 0x Irq 224 to 239 Set Enable Register Read/write 0xE000E11C 0x Irq 0 to 31 Clear Enable Register Read/write 0xE000E180 0x Irq 224 to 239 Clear Enable Register Read/write 0xE000E19C 0x Irq 0 to 31 Set Pending Register Read/write 0xE000E200 0x Irq 224 to 239 Set Pending Register Read/write 0xE000E21C 0x Irq 0 to 31 Clear Pending Register Read/write 0xE000E280 0x Irq 224 to 239 Clear Pending Register Read/write 0xE000E29C 0x Irq 0 to 31 Active Bit Register Read-only 0xE000E300 0x Irq 224 to 239 Active Bit Register Read-only 0xE000E31C 0x
26 Tabela rejestrów Nazwa rejestru Typ Adres Wartość po resecie Irq 0 to 31 Priority Register Read/write 0xE000E400 0x Irq 236 to 239 Priority Register Read/write 0xE000E4F0 0x CPUID Base Register Read-only 0xE000ED00 0x411FC231 Interrupt Control State Register Read/write or read-only 0xE000ED04 0x Vector Table Offset Register Read/write 0xE000ED08 0x Application Interrupt/Reset Control Register Read/write 0xE000ED0C 0x b System Control Register Read/write 0xE000ED10 0x Configuration Control Register Read/write 0xE000ED14 0x System Handlers 4-7 Priority Register Read/write 0xE000ED18 0x System Handlers 8-11 Priority Register Read/write 0xE000ED1C 0x System Handlers Priority Register Read/write 0xE000ED20 0x System Handler Control and State Register Read/write 0xE000ED24 0x Configurable Fault Status Registers Read/write 0xE000ED28 0x Hard Fault Status Register Read/write 0xE000ED2C 0x Debug Fault Status Register Read/write 0xE000ED30 0x Mem Manage Address Register Read/write 0xE000ED34 Unpredictable Bus Fault Address Register Read/write 0xE000ED38 Unpredictable Auxiliary Fault Status Register Read/write 0xE000ED3C 0x
27 Interrupt Controller Type Register Odczyt rejestru Interrupt Controller Type Register pozwala określić liczbę przerwań obsługiwaną przez kontroler NVIC. Adres rejestru, rodzaj dostępu i stan po resecie: Adres 0xE000E004 Dostęp Read-only Stan po resecie Zależy od zdefiniowanej liczby przerwań.
28 Interrupt Controller Type Register
29 Interrupt Set-Enable Registers Rejestry Interrupt Set-Enable Registers są wykorzystywane do: odblokowania przerwań, określenia które przerwania są odblokowane. Każdy bit odpowiada jednemu z przerwań. Ustawienie bitu odpowiadającego przerwaniu powoduje jego uaktywnienie. Kasowanie bitów rejestru Interrupt Set-Enable Register bit nie wpływa na aktualnie aktywne przerwania. Zapobiega jedynie następnym aktywacją. Adres rejestru, rodzaj dostępu i stan po resecie: Adres 0xE000E100-0xE000E11C Dostęp Read/write Stan po resecie 0x
30 Interrupt Set-Enable Registers Bit Pole Funkcja [31:0] SETENA Bitu odblokowujące przerwanie. Dla operacji zapisu: 1 = odblokowanie przerwania 0 = bez wpływu. Dla operacji odczytu: 1 = przerwanie odblokowane 0 = przerwanie zablokowane Wpisanie 0 do SETENA nie daje żadnego rezultatu. Odczyt bitów zwraca aktualny stan. Reset zeruje bity SETENA.
31 Interrupt Clear-Enable Registers Rejestry Interrupt Clear-Enable Registers są wykorzystywane do: zablokowania przerwań, określenia które przerwania są zablokowane. Każdy bit odpowiada jednemu z przerwań. Ustawienie bitu odpowiadającego przerwaniu powoduje jego zablokowanie. Adres rejestru, rodzaj dostępu i stan po resecie: Adres 0xE000E180-0xE000E19C Dostęp Read/write Stan po resecie 0x
32 Interrupt Clear-Enable Registers Bits Field Function [31:0] CLRENA Interrupt set enable bits. Dla operacji zapisu: 1 = zablokowanie przerwania 0 = bez wpływu. Dla operacji odczytu: 1 = przerwanie odblokowane 0 = przerwanie zablokowane Wpisanie 0 do CLRENA nie daje żadnego rezultatu. Odczyt bitów zwraca aktualny stan.
33 Interrupt Set-Pending Register Rejestry Interrupt Set-Pending Register są wykorzystywane do: wymuszania odłożenie przerwania okreslania, które przerwania są oczekujace. Każdy bit rejestru odpowiada jednemu z przerwań. Ustawienie bitu Interrupt Set-Pending Register odkłada odpowiadające danemu bitowi przerwanie. Zapis do rejestru Interrupt Set-Pending Register nie ma wpływu na oczekujące i zablokowane przerwania. Adres rejestru, rodzaj dostępu i stan po resecie:: Adres 0xE000E200-0xE000E21C Dostęp Read/write Stan po resecie 0x
34 Interrupt Clear-Pending Register Rejestry Interrupt Clear-Pending Register są wykorzystywane do: kasowania odłożenie przerwania określania, które przerwania są oczekujące. Każdy bit rejestru odpowiada jednemu z przerwań. Ustawienie bitu Interrupt Clear-Pending Register ustawia odpowiadające danemu bitowi przerwanie w stan nieaktywny. Zapis do rejestru Interrupt Clear-Pending Register nie ma wpływu na aktywne przerwania, chyba że są aktualnie odłożone. Adres rejestru, rodzaj dostępu i stan po resecie: Adres 0xE000E280-0xE000E29C Dostęp Read/write Stan po resecie 0x
35 Active Bit Register Odczyttywanie rejestru Active Bit Register pozwala określić, które przerwania są aktywne. Każda z flag odpowiada jednemu przerwaniu. Adres rejestru, rodzaj dostępu i stan po resecie:: Adres 0xE000E300-0xE00031C Dostęp Read-only Stan po resecie 0x Bit Pole Funkcja [31:0] ACTIVE Flagi: 1 = przerwania aktywne lub wywłaszczone i odłożone, 0 = przerwanie nieaktywne lub odłożone.
36 Interrupt Controller API Zestaw funkcji obsługi przerwań pozwala z poziomu języka C na obsługę kontrolera przerwań NVIC. Udostępnione funkcje pozwalają na blokowywanie i odblokowywanie przerwań, ustawianie funkcji obsługi przerwań i ustawianie priorytetów przerwań. Funkcje obsługi przerwań mogą być ustawiane na dwa sposoby: statycznie w czasie kompilacji, dynamicznie w czasie pracy programu. Jeżeli przerwania są statycznie konfigurowane, to muszą być odblokowane przez funkcję IntEnable() zanim procesor otrzyma przerwanie. Alternatywnie przerwanie może być skonfigurowane w czasie pracy przez funkcję IntRegister(), przerwanie także musi być odblokowane, jednak wykonuje to funkcja rejestrująca, a nie aplikacja użytkownika.
37 Interrupt Controller API Konfiguracja w czasie pracy wymaga, żeby tablica adresów funkcji obsługi przerwań była umieszczona w 1kB pamięci SRAM (zazwyczaj na początku). W celu umieszczenia w pamięci konieczne jest wykorzystanie skryptu linkera. Nie jest to możliwe w wersji szkolnej środowiska. programowania. Funkcje drajwera obsługi przerwań zawarte są w pliku src/interrupt.c wraz z plikiem nagłówkowym src/interrupt.h zawierającym definicje funkcji API do wykorzystania w aplikacji.
38 Funkcje API obsługi przerwań void IntDisable (unsigned long ulinterrupt) void IntEnable (unsigned long ulinterrupt) void IntMasterDisable (void) void IntMasterEnable (void) long IntPriorityGet (unsigned long ulinterrupt) unsigned long IntPriorityGroupingGet (void) void IntPriorityGroupingSet (unsigned long ulbits) void IntPrioritySet (unsigned long ulinterrupt, unsigned char ucpriority) void IntRegister (unsigned long ulinterrupt, void (#pfnhandler) (void)) void IntUnregister (unsigned long ulinterrupt)
39 Przykład wykorzystania funkcji API // // Funkcja obsługi przerwania. // extern void IntHandler(void); // // Rejestracja funkcji dla przerwania 5. // IntRegister(5, IntHandler); // // Odblokowanie przerwania 5. // IntEnable(5); // // Odblokowanie przerwań. // IntMasterEnable();
40 Program przykładowy #include "inc/hw_ints.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" #include "driverlib/interrupt.h" #include "driverlib/gpio.h" #include "driverlib/timer.h" int main(void) { unsigned long ulperiod; SysCtlClockSet(SYSCTL_SYSDIV_1 SYSCTL_USE_OSC SYSCTL_OSC_MAIN SYSCTL_XTAL_8MHZ); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0); SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); TimerConfigure(TIMER0_BASE, TIMER_CFG_32_BIT_PER); ulperiod = (SysCtlClockGet() / 10) / 2; TimerLoadSet(TIMER0_BASE, TIMER_A, ulperiod -1); IntMasterEnable(); IntEnable(INT_TIMER0A); TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); TimerEnable(TIMER0_BASE, TIMER_A); while(1) { } }
41 Program przykładowy void Timer0IntHandler(void) { // Clear the timer interrupt TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // Read the current state of the GPIO pin and // write back the opposite state if(gpiopinread(gpio_portf_base, GPIO_PIN_0)) { GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 0); } else { GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 1); } }
42 Program przykładowy
(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)
Przerwanie o wyższym priorytecie przerywa obsługę przerwania o niższym priorytecie, po czym następuje powrót do przerwanej obsługi przerwania o niższym priorytecie. (Rysunek z książki T.Starecki. Mikokontrolery
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
Wykład 12. Przetwornik ADC
Wykład 12 Przetwornik Przetwornik analogowo-cyfrowy () Moduł w mikrokontrolerach Stellaris posiada rozdzielczość 10-bitów i cztery kanały wejściowe oraz dodatkowo wewnętrzny czujnik temperatury. Moduł
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
XMEGA. Warsztaty CHIP Rok akademicki 2014/2015
XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):
Prezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
PROGRAMOWALNE SYSTEMY MECHATRONIKI
PROGRAMOWALNE SYSTEMY MECHATRONIKI Laboratorium nr 5 Podstawy programowania mikrokontrolerów. Przerwania. 1. System przerwań informacje ogólne Programy sterujące mikrokontrolerów rzadko mają postać listy
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
Część I - Sterownik przerwań 8259A i zegar/licznik 8253
Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń
Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia
Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeo wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeo wejścia/wyjścia,
3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47
Spis treści 3 1. Rdzeń Cortex-M3...9 1.1. Firma ARM i jej wyroby...10 1.2. Rodzina rdzeni Cortex...12 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3...13 1.4. Rejestry podstawowe...16 1.5. Przestrzeń
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240 Strona 1 z 12 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1. Mechanizm przerwań
Programowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:
Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej
Wykład 3: Implementacja programów wbudowanych
Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane
Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe
Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Przerwania i wyjątki Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 18 października 2016 5.2 Wyjątki Wyjątek zdarzenie, którego obsługa
LOW ENERGY TIMER, BURTC
PROJEKTOWANIE ENERGOOSZCZĘDNYCH SYSTEMÓW WBUDOWANYCH ĆWICZENIE 4 LOW ENERGY TIMER, BURTC Katedra Elektroniki AGH 1. Low Energy Timer tryb PWM Modulacja szerokości impulsu (PWM) jest często stosowana przy
Jednostka Sterująca - Menu
Jednostka Sterująca - Menu Spis treści 1. Podział menu... 3 2. Tryb użytkownika... 4 2.1 Zdarzenia... 5 2.2 Urządzenia... 5 2.2.1 Błędy... 5 2.2.2 Porty... 5 2.2.3 Grupy... 5 2.2.4 Wszystkie... 5 2.3 Historia
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Procesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Laboratorium mikrokontrolerów Ćwiczenie 7 Przerwania Autor: Paweł Russek Tłumaczenie: Sebastian Koryciak http://www.fpga.agh.edu.pl/tm ver. 25.05.16
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Timery w mikrokontrolerach STM32F3
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM Podstawy Programowania Mikroprocesorów i Procesorów DSP Timery w mikrokontrolerach
Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430
Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F
Programowanie mikroprocesorów jednoukładowych
Programowanie mikroprocesorów jednoukładowych MPU Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 2 stycznia 2017 1 / 21 Plan MPU Nakładanie regionów Tło regionów Rejestry MPU Inicjalizacja
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Timery i przerwania laboratorium: 03 autor: mgr inż. Katarzyna Smelcerz Kraków,
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Tryby uśpienia Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 19 grudnia 2016 Zarządzanie energią Często musimy zadbać o zminimalizowanie
Architektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Obsługa sytuacji wyjątkowych (Exception Processing) 2 Wyjątki Wyjątek (ang. exception) mechanizm kontroli przepływu danych występujący w mikroprocesorach
Hardware mikrokontrolera X51
Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)
LCD (Liquid Crystal Display)
LCD (Liquid Crystal Display) Polarizing filter. Thin film with a vertical ais. Liquid crystal Polarizing filter. Thin film with a horizontal ais. Polarizing filter. Thin film with a horizontal ais. Polarizing
Programowanie mikrokontrolerów AVR z rodziny ATmega.
Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora
Przerwania w systemie mikroprocesorowym
Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeń wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeń wejścia/wyjścia,
Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2
Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.
2. PORTY WEJŚCIA/WYJŚCIA (I/O)
2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania
architektura komputerów w 1 1
8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów
J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Architektura PC 1.1. Ogólna struktura systemu jednoprocesorowego Już systemy jednoprocesorowe mogą być środowiskiem, w którym wykonywane jest wiele programów
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej
Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33
Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
PMiK Programowanie Mikrokontrolera 8051
PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0
Wykład 2. Mikrokontrolery z rdzeniami ARM
Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów
Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1
Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
Architektura typu multi cycle
PC ux ress Write data emdata [3-26] [25-2] [2-6] [5-] register [5-] Cond IorD em emwrite emtoreg IRWrite [25-] [5-] Outputs Control Op [5-] ux ux PCSource Op SrcB Src RegWrite RegDst register register
Architektura ARM. Materiały do wykładu. Marcin Peczarski. 19 maja 2015. Instytut Informatyki Uniwersytet Warszawski
7 1 2 Materiały do wykładu Architektura ARM Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 19 maja 2015 7 1 2 1 ARM = Advanced RISC Machines Międzynarodowa firma, mająca główną siedzibę w
Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET
Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Technika mikroprocesorowa Instrukcja 3 Stos i podprogramy Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm ver.
Mikrokontroler AVR ATmega32 - wykład 9
SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.
Architektura i administracja systemów operacyjnych
Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Przerwania laboratorium: 04 autor: mgr inż. Michał Lankosz dr hab. Zbisław Tabor,
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Kompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
2. Budowa układów procesorowych rodziny TMS320C
3 Wstęp...8 1. Procesory sygnałowe DSC (Digital Signal Controllers)...11 1.1. Przegląd układów procesorowych czasu rzeczywistego...13 1.2. Procesory rodziny TMS320C2000 firmy Texas Instruments...15 2.
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Przetwornik ADC laboratorium: 04 autor: mgr inż. Katarzyna Smelcerz Kraków, 2016
Programowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Architektura systemu komputerowego
Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie
Wykład 6. Mikrokontrolery z rdzeniem ARM
Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery
Procesory osadzone ETD 7211 W
Procesory osadzone ETD 7211 W4 05.11.2018 Przypomnienie Barrel shifter Instrukcje warunkowe ARM magistrale połączeniowe GPIO FGPIO ARM7 - przesuwnik bitowy (ang. Barrel shifter) Barrel shifter wielopozycyjny
Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI
Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są
Moduł wspierający diagnostykę i sprzętowe debugowanie
Moduł wspierający diagnostykę i sprzętowe debugowanie 1 Diagnostyka mikroprocesorowego systemu czasu rzeczywistego Programowe emulatory procesorów, Sprzętowe emulatory procesorów, Debugery programowe,
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury
Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje
Podstawy Informatyki Układ przerwań
maszyny W Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu maszyny W 1 Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy
Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola
Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Struktura systemu 68008 z układami peryferyjnymi 6821, 6050 Na rysunku 1.1 pokazano strukturę stanowiska z interfejsami
2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41
3 Wstęp...11 1. Procesory serii TMS320F2802x/3x/6x Piccolo... 15 1.1. Organizacja układów procesorowych serii F2802x Piccolo...23 1.2. Organizacja układów procesorowych serii F2803x Piccolo...29 1.3. Organizacja
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Licznik rewersyjny MD100 rev. 2.48
Licznik rewersyjny MD100 rev. 2.48 Instrukcja obsługi programu PPH WObit mgr inż. Witold Ober 61-474 Poznań, ul. Gruszkowa 4 tel.061/8350-620, -800 fax. 061/8350704 e-mail: wobit@wobit.com.pl Instrukcja
Architektura mikrokontrolera MCS51
Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera
Mikroinformatyka. Wielozadaniowość
Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment
IEEE 1284 - Centronics
IEEE 1284 - Centronics Interfejs Centronics w wersji oryginalnej - łącze jednokierunkowe przesyłające informacje od komputera do drukarki przeznaczony jedynie do tego zadania, co wynikało z braku potrzeby
Programowanie mikroprocesorów jednoukładowych
Programowanie mikroprocesorów jednoukładowych Systemy operacyjne dla systemów wbudowanych Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 11 września 2017 1 / 30 Plan I SLOS Inicjalizacja
Systemy operacyjne system przerwań
system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi
MIKROPROCESORY architektura i programowanie
SYSTEM PRZERWAŃ (dla µ-kontrolerów rodziny 51) pomysł przerwań zewnętrznych i programowych to kolejny, genialny fundament konstrukcji procesorów cyfrowych Naturalnie sekwencyjne wykonywanie programu może
1.2. Architektura rdzenia ARM Cortex-M3...16
Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.
CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.
Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH
Architektura mikrokontrolera MCS51
Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2018 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera
Programowanie mikrokontrolerów. 8 listopada 2007
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik
Jedrzej Ułasiewicz Komputerowe systemy sterowania 1
Jedrzej Ułasiewicz Komputerowe systemy sterowania 1 1 Przerwania 1.1 Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
SYSTEM PRZERWAŃ ATmega 32
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA SYSTEM PRZERWAŃ ATmega 32 Opracował: mgr inż.
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Programowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
Programowanie niskopoziomowe
Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja
Technika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
Embedded Systems Programming
Embedded Systems Programming Device drivers - interrupts and timers Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 7, 2019 Przerwania Przerwanie - sygnał powodujacy zmianę przepływu
Urządzenia peryferyjne RS-232. Wykład 2
Urządzenia peryferyjne RS-232 Wykład 2 Transmisja szeregowa Poprzez kanały telekomunikacyjne Zaleta: niskie koszty Wymaga konwersji szeregowo/równoległej np. rejestr przesuwny Dwie metody: asynchroniczna
Efekty uboczne błędów
Obsługa wyjątków Efekty uboczne błędów Fragment kodu programu jest bezpieczny (ang. exception-safe) jeżeli błędy, które wystąpią w trakcie przetwarzania tego kodu nie będą powodowały niepożądanych efektów
Zewnętrzne układy peryferyjne cz. 1 Wykład 12
Zewnętrzne układy peryferyjne cz. 1 Wykład 12 Wyświetlacz LCD zgodny z HD44780 Wyświetlacz LCD zgodny z HD44780 2 HD44780 Standardowy sterownik alfanumerycznych wyświetlaczy LCD opracowany przez firmę
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h
Imię Nazwisko ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h 1. Zbudować sieć laboratoryjną 2. Podstawowe informacje dotyczące obsługi systemu operacyjnego (na przykładzie