Systemy wbudowane. Wykład 4: Systemy operacyjne dla systemów wbudowanych. Obsługa przez przerwania. Z wywłaszczaniem zadań:

Podobne dokumenty
Wykład 3: Implementacja programów wbudowanych

mikrokontrolerze ATmega128 firmy Atmel, z wykorzystaniem narzędzi GNU.

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Podstawowe zagadnienia

Komputery przemysłowe i systemy wbudowane

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

High Speed USB 2.0 Development Board

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Projekt i implementacja systemu obsługi kart chipowych

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Systemy operacyjne III

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Procesy, wątki i zasoby

Kompilator języka C na procesor 8051 RC51 implementacja

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

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

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

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

System komputerowy. System komputerowy

Architektura komputera

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

Czujniki obiektowe Sterowniki przemysłowe

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2

1. Tworzenie nowego projektu.

Kurs programowania. Wykład 8. Wojciech Macyna

Semafor ustaw_semafor(key_t nazwa, int start); Semafor usun_semafor(semafor sem); void signal(semafor sem); void wait(semafor sem);

4. Procesy pojęcia podstawowe

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Procesy, zasoby i wątki

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Procesy, zasoby i wątki

4. Procesy pojęcia podstawowe

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

4. Procesy pojęcia podstawowe

Rejestr HKEY_LOCAL_MACHINE

Podstawy Informatyki Systemy operacyjne

Mechanizmy pracy równoległej. Jarosław Kuchta

Jądro systemu operacyjnego

2. Architektura mikrokontrolerów PIC16F8x... 13

Działanie systemu operacyjnego

System operacyjny. Na rysunku przedstawiono diagram pracy wielozadaniowego OS z uruchomionymi jednocześnie kilkoma zadaniami.

Warstwy systemu Windows 2000

Embedded Systems Programming

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Oprogramowanie komputerowych systemów sterowania

Procesy, zasoby i wątki

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Systemy operacyjne system przerwań

Wielozadaniowość w systemie Microsoft Windows

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

Wstęp. do języka C na procesor (kompilator RC51)

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

Wbudowane systemy czasu rzeczywistego Wykład 14

Systemy czasu rzeczywistego wstęp

Architektura systemów komputerowych. Przetwarzanie potokowe I

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Urządzenia wejścia-wyjścia

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Systemy czasu rzeczywistego wstęp

Struktury systemów operacyjnych

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

Programowanie współbieżne i rozproszone

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Systemy Czasu Rzeczywistego (SCR)

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Systemy operacyjne III

Jedrzej Ułasiewicz Komputerowe systemy sterowania 1

9. Problem wzajemnego wykluczania i sekcji krytycznej

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

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

7. Szeregowanie procesów w systemie QNX6 Neutrino

5. Model komunikujących się procesów, komunikaty

System plików warstwa logiczna

Multimedia JAVA. Historia

FreeRTOS w PSOC5LP. Do czego służy i jak zaimplementować FreeRTOS w układach Cypress PSoC 5LP. v. 1.2 Bogdan Pankiewicz, marzec 2016, 2017

Programowanie w języku C++

Zaawansowane programowanie w języku C++

Systemy operacyjne II

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Podstawy Informatyki Układ przerwań

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Gdańsk) Tabela 1. Komputer przenośny. Ilość 1 sztuka

Systemy Czasu Rzeczywistego (SCR)

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Działanie systemu operacyjnego

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3

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

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

#3 - BarCamp Semihalf. System wbudowany? - Zrób to sam! Jak napisać własny RTOS? Radosław Biernacki

Dzisiejszy wykład. Klasa string. wersja prosta wersja ze zliczaniem odwołań. Wyjątki Specyfikator volatile Semafory

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Technologia informacyjna. Urządzenia techniki komputerowej

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)

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Transkrypt:

Systemy wbudowane Wykład 4: Systemy operacyjne dla systemów wbudowanych Rodzaje RTOS Jednozadaniowe: Obsługa przez przerwania Z wywłaszczaniem zadań: Zadania o wyższym priorytecie przerywają wykonywanie zadań o niższym priorytecie Bez wywłaszczania 10/16/2010 S.Deniziak:Systemy wbudowane 2 1

Przykładowe RTOS Windows CE μclinux ecos μc/os-ii FreeRTOS 10/16/2010 S.Deniziak:Systemy wbudowane 3 Cechy μc/os-ii Około 5500 linii kodu w C Przenośny Może być umieszczony w ROM Skalowalny Z wywłaszczaniem Wielozadaniowy Deterministyczny Zarządzanie przerwaniami Niezawodny 10/16/2010 S.Deniziak:Systemy wbudowane 4 2

Struktura systemu Kod aplikacji Kod niezależny od platformy: OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_MUTEX.C OS_SEM.C OS_TIME.C ucos_ii.c ucos_ii.h OS_TASK.C OS_Q.C Konfiguracja OS: OS_CFG.H INCLUDES.H Kod zależny od platformy: OS_CPU.H OS_CPU_A.ASM OS_CPU_C.C Procesor Timer 10/16/2010 S.Deniziak:Systemy wbudowane 5 Program główny void main() { OSInit(); /* Inicjalizacja */. /* utworzenie zadań */ OSStart(); /* uruchomienie OS */ } 10/16/2010 S.Deniziak:Systemy wbudowane 6 3

Sekcje krytyczne Kod z zablokowanymi przerwaniami: OS_ENTER_CRITICAL(); kod krytyczny OS_EXIT_CRITICAL(); 10/16/2010 S.Deniziak:Systemy wbudowane 7 Zadania OSTaskDel OSTaskCreate OSTaskCreateExt WAITING OSFlagPost OSMboxPost OSMboxPostOpt OSMutexPost OSQPost OSQPostFront OSQPostQpy OSSemPost OSTaskResume OSTimeDlyResume OSTimeTick OSFlagPend OSMboxPend OSMutexPend OSQPend OSSemPend OSTaskSuspend OSTimeDly OSTimeDlyHMSM przerwanie DORMANT OSTaskDel READY OSStart wywłaszczenie RUNNING OSIntExit RUNNING 10/16/2010 OSTaskDel S.Deniziak:Systemy wbudowane 8 4

Typy zadań Zadania użytkownika: void zadanie (void *pdata) { } Zadania systemowe OS_TaskIdle() OS_TaskStat() - gdy OS_TASK_STAT_EN=1 10/16/2010 S.Deniziak:Systemy wbudowane 9 Tworzenie zadań INT8U OSTaskCreate( void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) INT8U OSTaskCreateExt( ) 10/16/2010 S.Deniziak:Systemy wbudowane 10 5

Usuwanie zadań INT8U OSTaskDel(INT8U prio) INT8U OSTaskDelReq(INT8U prio) 10/16/2010 S.Deniziak:Systemy wbudowane 11 Zarządzanie wykonywaniem zadania INT8U OSTaskChangePrio(INT8U oldprio, INT8U newprio) INT8U OSTaskSuspend(INT8U prio) INT8U OSTaskResume(INT8U prio) INT8U OSTaskQuery(INT8U prio, OS_TCB *pdata) 10/16/2010 S.Deniziak:Systemy wbudowane 12 6

Czas void OSTimeDly(INT16U ticks) tick: 10-100 /s void OSTimeDlyHMSM(INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) Gdy OS_TIME_DLY_HMSM_EN=1 OS_TICKS_PER_SEC INT8U OSTimeDlyResume(INT8U prio) Gdy OS_TIME_DLY_RESUME_EN=1 INT32U OSTimeGet() Gdy OS_TIME_GET_SET_EN=1 void OSTimeSet(INT32U ticks) Gdy OS_TIME_GET_SET_EN=1 10/16/2010 S.Deniziak:Systemy wbudowane 13 Semafory (sem, mutex) Zadanie1 OSSemCreate() OSSemDel() OSSemPost() OSSemAccept() OSSemPend() OSSemQuery() Zadanie2 OSSemPost() OSSemAccept() 10/16/2010 S.Deniziak:Systemy wbudowane 14 7

Zdarzenia (flags) Zadanie1 OSFlagCreate() OSFlagDel() OSFlagPost() OSFlagAccept() OSFlagPend() OSFlagQuery() Zadanie2 OSFlagPost() Event Flag Group OSFlagAccept() OSFlagQuery) 10/16/2010 S.Deniziak:Systemy wbudowane 15 Komunikacja pomiędzy zadaniami (mailbox, message queue) Zadanie1 OSMboxCreate() OSMboxDel() OSMboxPost() OSMboxPostOpt() OSMboxAccept() OSMboxPend() OSMboxQuery() Zadanie2 OSMboxPost() OSMboxPostOpt() Mailbox OSMboxAccept() 10/16/2010 S.Deniziak:Systemy wbudowane 16 8

Zarządzanie pamięcią OSMemCreate() utworzenie partycji pamięci OSMemGet() alokacja bloku OSMemPut() zwolnienia bloku OSMemQuery() uzyskanie informacji o stanie partycji 10/16/2010 S.Deniziak:Systemy wbudowane 17 Komunikacja z innymi procesorami/modułami sprzętowymi Sterowniki urządzeń: implementacja funkcji komunikacyjnych (np. read(), write()) Protokoły komunikacyjne: Warstwa aplikacji: np. dane w języku specyfikacji (int, char, struktury), Warstwa transportowa: np. pakiety bajtów Warstwa fizyczna: np. cykle magistrali 10/16/2010 S.Deniziak:Systemy wbudowane 18 9

Koniec 10/16/2010 S.Deniziak:Systemy wbudowane 19 10