Programowanie Systemów Wbudowanych. Specjalność uzupełniająca Systemy wbudowane

Podobne dokumenty
Co to jest system wbudowany?

SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej

Wykład 2. Mikrokontrolery z rdzeniami ARM

Katedra Systemów Elektroniki Morskiej. Specjalność Systemy elektroniki morskiej

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

WPROWADZENIE Mikrosterownik mikrokontrolery

Specjalność uzupełniająca

MIKROKONTROLERY I MIKROPROCESORY

Szybkie prototypowanie w projektowaniu mechatronicznym

Specjalizacja uzupełniająca. urządzeniowo - informatyczna dla wszystkich kierunków na ETI (II st.)

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

Wykład 2. Mikrokontrolery z rdzeniami ARM

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

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Procesory firmy ARM i MIPS

Technika mikroprocesorowa

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Czujniki obiektowe Sterowniki przemysłowe

Architektura mikroprocesorów TEO 2009/2010

Systemy na Chipie. Robert Czerwiński

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

System czasu rzeczywistego

Systemy wbudowane. Paweł Pełczyński

Razem godzin w semestrze: Plan obowiązuje od roku akademickiego 2016/17 - zatwierdzono na Radzie Wydziału w dniu r.

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Historia modeli programowania

Budowa Mikrokomputera

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Podstawy programowania

Języki i metodyka programowania

Projektowanie. Projektowanie mikroprocesorów

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Podstawy Informatyki Systemy sterowane przepływem argumentów

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Podstawy Techniki Mikroprocesorowej

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Technologie informacyjne - wykład 12 -

Specjalność: Komputerowe systemy sterowania i diagnostyki

Układy zegarowe w systemie mikroprocesorowym

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Specyfika projektowania Mariusz Rawski

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

POLITECHNIKA LUBELSKA Wydział Elektrotechniki Kierunek: INFORMATYKA II stopień niestacjonarne i Informatyki. Część wspólna dla kierunku

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Budowa komputera Komputer computer computare

Przetwarzanie Rozproszone i Równoległe

Inżynieria Wytwarzania Systemów Wbudowanych

Aparatura Elektroniczna (EAE) Stopień studiów i forma: I stopień, stacjonarna Rodzaj przedmiotu: obowiązkowy - 2

Implementacja Gigabitowego Ethernetu na układach FPGA dla eksperymentów fizycznych

Zaawansowane technologie w nowoczesnych układach sterowania

Algorytmy i struktury danych

Budowa i zasada działania komputera. dr Artur Bartoszewski

Modelowanie procesów współbieżnych

Razem godzin w semestrze: Plan obowiązuje od roku akademickiego 2014/15 - zatwierdzono na Radzie Wydziału w dniu r.

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Strumień specjalizujący urządzeniowo - informatyczny dla wszystkich kierunków na ETI (II st.) 3 grudnia 2014

Zakład Układów Elektronicznych i Termografii ( Prezentacja bloków i przedmiotów wybieralnych

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

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

Politechnika Gdańska. Gdańsk, 2016

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Metody optymalizacji soft-procesorów NIOS

Elementy składowe systemu komputerowego

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Informatyka - studium realizacji dźwięku -

Katedra Systemów Elektroniki Morskiej

Przykłady zastosowań systemów mikroprocesorowych

Podstawowe zagadnienia

Zagadnienia kierunkowe Kierunek mechanika i budowa maszyn, studia pierwszego stopnia

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Specjalność: Komputerowe systemy sterowania i diagnostyki. Strona 1 z 5

KARTA PRZEDMIOTU KARTA PRZEDMIOTU

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Opracował: Jan Front

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Urządzenia Elektroniki Morskiej Systemy Elektroniki Morskiej

Mikrokontrolery w mechatronice. Wstępne uwagi

ARCHITEKTURA PROCESORA,

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Podstawy programowania wykład

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

Algorytmy i Struktury Danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

POLITECHNIKA LUBELSKA Wydział Elektrotechniki Kierunek: INFORMATYKA II stopień niestacjonarne i Informatyki. Część wspólna dla kierunku

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

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

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

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

Transkrypt:

Programowanie Systemów Wbudowanych Specjalność uzupełniająca Systemy wbudowane

Co to jest system wbudowany? komputer (CPU, pamieć, I/O) wykonuje skończoną liczbę zadań, w skończonym czasie, w wiekszym systemie (który zwykle nie jest komputerem) 2

Co to jest system wbudowany? Komputer jest częścią większego systemu i zwykle nie wygląda jak komputer steruje innymi urządzeniami Niezawodność jest często najważniejsza (krytyczna) if the system fails someone might die Ograniczone zasoby Odpowiedź w czasie rzeczywistym 3

Co to jest system wbudowany? O jakich systemach mówimy? Czytniki kodów kreskowych Kamera Robot linii produkcyjnej Telefon kmórkowy Odtwarzacz CD Konroler twardego dysku.... Pompa insulinowa Sztuczny satelita Autonomiczny pojazd podwodny Fuel injector controls Medical equipment monitors PDAs Printer controllers Sound systems Rice cookers Telephone switches Water pump controllers Welding machines Windmills Wrist watches Stroustrup/Programming Nov'13 4

Co to jest system wbudowany? Przewidywalność Zarządzanie zasobami Pamięć! Dostęp do sprzętu Adresowanie bezwzględne Standardy programistyczne 5

Co to jest system wbudowany? HPEC - High Permormance Embedded Computing wysoki poziom funkcjonalności systemów przetwarzania sygnałów i obrazów Systemy do zastosowań militarnych

Systemy HPEC

System wbudowany Dobrze zaprojektowany system zapewnia jednocześnie wymagane opóźnienia i przepustowość minimalizując:

Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

System wbudowany programista musi dobrze rozumieć architekturę sprzętu ograniczone zasoby: szybkość CPU, pamięć, objętość, waga, pobór mocy projektant, konstruktor i programista SW ciągle pamięta o kosztach (każdy dodatkowy cykl maszynowy kosztuje!) Trzy kategorie w zależności od potrzeb energetycznych: zasilane baterią (np. przenośne urzadzenia audio) maksymalizacja długości życia baterii, minimalizacja rozmiaru stałej mocy (np. aparaty telefoniczne) - maksymalizacja wydajności przy stałej, ograniczonej mocy, systemy high-density (np. systemy wysokiej wydajnosci obliczeniowej i systemy wieloprocesorowe) - maksymalizacja wydajności energetycznej (ciepło!)

System wbudowany System czasu rzeczywistego wymagania twarde Odpowiedź systemu w ściśle określonym czasie System czasu rzeczywistego wymaganie miękkie W większości przypadków odpowiedź systemu w ściśle określonym czasie Przewidywalność przede wszystkim! Correctness is even more important than usual B. Stroustrup. "Poprawność" nie jest pojęciem abstrakcyjnym! 12

Podstawowa struktura SW źródło: https://www.tutorialspoint.com/embedded_systems Sensor mierzy wielkość fizyczną i konwertuje ją na sygnał elektryczny; zapisuje zmierzoną wartość w pamięci Konwerter C/A (A-D Converter) zamienia sygnał analogowy na sygnał cyfrowy Jednostka obliczeniowa (Processor & ASICs) przetwarza dane i zapisuje je do pamięci Konwerter C/A (D-A Converter) zamienia sygnał cyfrowy na sygnał analogowy Element wykonawczy (Actuator) urządzenie mechaniczne występujące w układach regulacji, które na podstawie sygnału sterującego wypracowuje sygnał wejściowy do obiektu regulacji; porównuje wyjście z konwertera C/A z wartością oczekiwaną

Jednostka obliczeniowa Mikrokontroler Mikroprocesor Procesor CISC/RISC Procesor DSP System on a Chip (SoC) Układy konfigurowalne

Mikrokontrolery

Procesory CISC i RISC

Procesory SPARC

Procesory SPARC

System on a Chip (SoC)

Procesory ARM

Układy konfigurowalne

SW - Procesory Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW - Procesory Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW procesory Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW procesory Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW procesory Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW procesory DSP Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW układy konfigurowalne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

Projektowanie systemu wbudowanego

Prototypowanie komputery jednoukładowe

Raspberry Pi

Raspberry Pi

Intel Galileo

GPIO

SW Projektowanie Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW Projektowanie Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW Projektowanie Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW systemy operacyjne Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

SW język programowania Źródło: https://m.eet.com/media/1246048/2017-embedded-market-study.pdf

Języki programowania SW

Specyfika oprogramowania SW Przewidywalność Operacje C++ wykonywane są w stałym, przewidywalnym i mierzalnym czasie Wyjątki: alokacja pamięci (new), obsługa wyjątku (throw). Zwykle nieużywane w systemach czasu rzeczywistego! Prostota i czytelność! Mile widziany wysoki poziom abstrakcji Assembler niekoniecznie Czytelny kod wyrażający pomysł projektanta Nie optymalizuj, dopóki nie musisz Prawa Johna Bentley-a: Pierwsze prawo: Don t do it Drugie prawo (tylko dla ekspertów): Don t do it yet

Błędy oprogramowania SW Liczba usterek oprogramowania systemów wbudowanych rośnie! Internet of Things Programowanie na coraz wyższym poziomie abstrakcji Złożone algorytmy (machine learning) Integracja kodu programów Problemy Kod pisany przez programistów, którzy nie są projektantami sprzętu Kierownicy nie rozumieją problemów programistów i projektantów sprzętu Błędy o bardzo małym prawdopodobieństwie (ale katastrofalnych skutkach)

Błędy oprogramowania SW Źródło: https://users.ece.cmu.edu/~koopman/pubs/issre2016_keynote_slides.pdf

Bezpieczeństwo oprogramowania SW Źródło: https://users.ece.cmu.edu/~koopman/pubs/issre2016_keynote_slides.pdf

Jakość kodu źródłowego Źródło: https://users.ece.cmu.edu/~koopman/pubs/issre2016_keynote_slides.pdf

Ile czasu pisze się kod źródłowy SW? Źródło: https://users.ece.cmu.edu/~koopman/pubs/issre2016_keynote_slides.pdf

Standardy programowania C90 - ISO/IEC 9899:1990 Programming Language C. C99 - ISO/IEC 9899:1999 Programming Language C. C11 - ISO/IEC 9899:2011 Programming Language C. C++ - ISO/IEC 14882:2003 Programming language C++. MISRA C standard języka C zdefiniowany przez The Motor Industry Software Reliability Association (MISRA) w Wielkie Brytanii MISRA C:1998 MISRA C:2004 MISRA C:2012