Embedded Linux 1/22. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44. Embedded Linux



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

Podstawowe zagadnienia

Spis treści. Wstęp... 10

EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9

System czasu rzeczywistego

LEGO Segway. Budowa i analiza strukturalnie niestabilnego robota mobilnego na bazie projektu Segway

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Komputery przemysłowe i systemy wbudowane

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Prezentacja systemu RTLinux

Struktury systemów operacyjnych

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

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

1.Wstęp. 2.Generowanie systemu w EDK

Wykład 3: Implementacja programów wbudowanych

Inteligentny czujnik w strukturze sieci rozległej

Metody optymalizacji soft-procesorów NIOS

Łagodne wprowadzenie do systemów wbudowanych. Bartłomiej Sięka

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

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Systemy na Chipie. Robert Czerwiński

DLACZEGO DYSTRYBUCJE NIE OBSŁUGUJĄ MOJEGO URZĄDZENIA? Marcin Juszkiewicz Software Engineer

Systemy zdalnego zarządzania i monitoringu: Carel platforma PRO. Tomasz Andracki, Bydgoszcz

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

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

System UNIX 2. Micha l Tanaś, PhD Adam Mickiewicz University, Faculty of Physics Michal.Tanas@amu.edu.

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

WPROWADZENIE Mikrosterownik mikrokontrolery

Systemy czasu rzeczywistego wstęp

Systemy czasu rzeczywistego wstęp

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

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

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

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

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

SPIS TREŚCI: KARTY GRAFICZNE... 15

Systemy wbudowane. Paweł Pełczyński

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

Jesień Linuksowa - Embedded Linux Security

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

FreeBSD do zabudowy. Czyli nie tylko pecety. Rafał Jaworowski meetbsd 2007, Warszawa

SPECYFIKACJA TECHNICZNA OPROGRAMOWANIA

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

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Otwarte oprogramowanie w systemach wbudowanych i pomiarowych. Rok akademicki: 2015/2016 Kod: EEL PT-s Punkty ECTS: 3

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29)

Programowanie Systemów Wbudowanych

Tworzenie sterowników dla FreeBSD. Michał Hajduk

Świat komputerów. Urządzenia wyjściowe:

inode instalacja sterowników USB dla adaptera BT 4.0

Parametryzacja przetworników analogowocyfrowych

Q E M U.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawy technologii informacyjnej. Beata Kuźmińska

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Wstęp do informatyki. Świat komputerów. Sprzęt (Hardware) Komputer osobisty (Personal Computer) Cezary Bolek

Dystrybucje Linuksa c.d.

Wprowadzenie do systemów operacyjnych

System komputerowy. System komputerowy

Podstawy Techniki Komputerowej. Temat: BIOS

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

2 799,28 PLN brutto 2 275,84 PLN netto

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski 31 sierpnia 2015

Szkolenia specjalistyczne

Tworzenie oprogramowania

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Wykład 2. Mikrokontrolery z rdzeniami ARM

Thinkcore W325A. Pełny opis produktu. Wbudowany komputer przemysłowy z GSM/GPRS, 1x LAN, 2x RS-232/422/485, SD, RISC CPU. [Nowy moduł GSM/GPRS]

SOP System Obsługi Parkingów

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

Przegląd współczesnych systemów operacyjnych

Kernel Kompilacja jądra

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

581,47 PLN brutto 472,74 PLN netto

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Wbudowane systemy operacyjne

LEKCJA TEMAT: Zasada działania komputera.

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

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

Politechnika Śląska Wydział Elektryczny Katedra Mechatroniki. Koncepcja przyłączania mikroinstalacji prosumenckich (gniazd) do laboratorium ilabepro

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

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

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

GUIX Studio (1) Projekt e2studio

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Systemy operacyjne II

Wykład 6. Mikrokontrolery z rdzeniem ARM

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Rejestratory Sił, Naprężeń.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Moduł nie może być zasilany z PoE. Nie ma wbudowanej przetwornicy PoE, a posiada tylko wyprowadzenie pinów RJ45 na płytkę PCB

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

Wstęp do Informatyki Komputer osobisty (Personal Computer)

Transkrypt:

Embedded Linux 1/22 dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44 Embedded Linux

1. Historia 1 2 3 4 5 2/22 Pomysły, pomysły, pomysły... On Time RTOS-32 RT Kernel for DOS RTUSB-32

1. Historia 1 2 3 4 5 3/22 Embedded Linux początki... 1998 uclinux Motorola DragonBall 1999 ESC = Embedded Systems Conference Zentropix RealTimeLinux.org Lineo Rick Lehrbaum LynuxWorks uclinux EMLAB (Embedded Advisory Board) Linuxdevices.com BlueCat Linux Pierwsza komercyjna wersja wbudowanego Linuxa ARM, ColdFire (Freescale)

1. Historia 1 2 3 4 5 4/22 Embedded Linux troche historii 2000 rok Samsung Ericsson Atmel ELC Yopy, PDA z Linuxem HS210, tel. kom. z linuxem AT75C310, chip z obsługą internetu, VoIP, audio na Linuxie Embedded Linux Consortium, Rick Lehrbaum, Intel, IBM,...

2. Dystrybucje 1 2 3 4 5 5/22 Wybrane dystrybucje wbudowanego linuxa BlueCat Linux LynuxWorks, uniwersalna dystrybucja komercyjna, PowerPC, IS-32, ARM, MIPS, x86. Aplikacja VisualLynux. Cadenux oparta na uclinux, dla systemów bez MMU. DENX ELDK (Embedded Linux Development Kit). Zawiera opcje RT. Procesory Xscale, PowerPC, ARM, MIPS x86, SPARC. RTAI (Real-Time Application Interface). Embedded Debian (Emdebian) okrojony Debian. IA-32, Motorola M68k, SPARC, ARM, PowerPC, MIPS, IA-64 ELinOS SYSGO, dystrybucja komercyjna. Możliwa redukcja zużycia pamięci do 1MB ROM i 2 MB RAM. Dobry manager dostosowujący linux do sprzętu. Aplikacja CODEO dla Eclipse.

2. Dystrybucje 1 2 3 4 5 6/22 Wybrane dystrybucje wbudowanego linuxa Metrowerks dystrybucja komercyjna wraz z wieloma narzędziami i rozszerzeniami. Procesory x86, ARM, PowerPC, ColdFire. CodeWarrior Development Sudio. MontaVista komercyjna dystrybucja Linuxa. W wersji prof. ma wsparcie dla RT. MontaVista DevRocket. RTLinuxPro kernel RT. Architektura dual-kernel: Hard RT/POSIX. Quickboot TimeSys Linux komercyjna dystrybucja. Windows/Linux crossdevelopment. Przeciętna jak się wydaje.

3. Linux dnia dzisiejszego 1 2 3 4 5 7/22 Problemy wykorzystania Linuxa w systemach wbudowanych Wielkość systemu: konfiguracja systemu. Minimaly Linux 4MB SDRAM i 2MB Flash. Mniejsze dystrybucje to: uxlinux, ELKS (Embedded Linux Kernel Subset), ThinLinux. Linux jako system Real Time Preemptive kernel, RT-capable scheduler. Dual kernel. Linux i systemy komercyjne GPL (General Public License), UWAGA!!! LGPL (Lesser GPL) można nie publikować własnego kodu Komercyjne dystrybucje Linuxa/darmowe dystrybucje Efekt amatorskości/koszty, przywiązanie się do egzotycznej dystrybucji

3. Linux dnia dzisiejszego 1 2 3 4 5 8/22 1) Aplikacje tylko używające system Linux poprzez zwykłe wywoływanie funkcji systemowych nie muszą mieć licencji GPL Licencja GPL 2) Fragmenty wzbogacające kernel mogą EWENTUALNIE NIE MIEĆ licencji GPL tylko jeśli są dołączane do kernela jako moduły. 3) Patche i modyfikacje kernela nie dołączane dynamicznie jako moduły MUSZA BYĆ GPL. 4) WYKORZYSTANIE BIBLIOTEK/APLIKACJI Z LICENCJA GPL TAKŻE SKUTKUJE WYMUSZENIEM LICENCJI GPL. 5) Biblioteki systemowe (jak libc, pthreads itp.) mają licencje LGPL i nie wiążą się z koniecznością posiadania licencji GPL na kod je wykorzystujący.

3. Linux dnia dzisiejszego 1 2 3 4 5 9/22 Embedded Linux dnia dzisiejszego Własne przemyślenia dowolne: Kernel dobry i stabilny Troche wolne i za duże Nie wiadomo po co jest wymuszenie systemu plików Amatorskie - interfejs użytkownika Chyba ma duża przyszłość, nie powinno się ignorować W sumie dużo dystrybucji, nieuporządkowany rynek Każda płytka ma swoją dystrybucje Dość kiepskie narzędzia konfiguracji szczególnie dla ToolChain

4. Kernel 1 2 3 4 5 10/22 Linux Kernel

4. Kernel HAL (Hardware Abstraction Layer) BSP (Board Support Package) w innych RTOS HAL w Linux nie ma standardowego API Procesory wspierane przez Linux HAL: MIPS PowerPC ARM M68K CRIS V850 SuperH 1 2 3 4 5 11/22

4. Kernel 1 2 3 4 5 12/22 Memory Manager, File System Pages, 4KB Osobno traktowane strony aplikacji i kernela VFS Virtual File System System plików jest obowiązkowy root file system Typy systemów plików: EXT2 klasyczny system plików ROMFS Read Only File System RAMFS Memory-based File System DEVFS Pseudo file system for device files JFFS2 Obsługa dedykowana dla pamięci Flash

4. Kernel 1 2 3 4 5 13/22 Start systemu Linux 1. Faza BootLoadera inicjalizacja sprzętu oraz przekazanie kontroli do systemu 2. Start jądra: 1. Kernel_entry / stext procedura w assemblerze inicjalizująca start jądra. Znajduje się zazwyczaj w: kernel/head.s 2. Start_kernel(), orginalnie w pliku init/main.c inicjalizacja i uruchomienie wątku idle (process id 0) 3. wywołanie funkcji setup_arch(), inicjalizacja wybranych zasobów zależnych od platformy jak: rozpoznanie CPU, zidentyfikowanie ramdisk, inicjalizacja stronicowania 4. trap_init() inicjalizacja procedur obsługi sytuacji wyjątkowych 5. init_irq() inicjalizacja kontrolera przerwań 6. Time_init inicjalizacja timerów 7. Console_init() inicjalizacja urządzenia szeregowego do obsługi konsoli 8. Calibrate_delay() kalibracja dla funkcji udelay() 9. Inicjalizacja dodatkowych sterowników urządzeń 3. Inicjalizacja przestrzenii użytkownika: 1. Inicjalizacja i przekazanie sterowania do procesu init

5. Płytka Embest NK9315 1 2 3 4 5 14/22 Embest NK9315

5. Płytka Embest NK9315 1 2 3 4 5 15/22 Embest NK9315 - sprzęt

5. Płytka Embest NK9315 1 2 3 4 5 16/22 Opcje standardowe Embest NK9315 - LINUX Linux Kernel 2.4.21 Opcje możliwe do dodania

5. Płytka Embest NK9315 1 2 3 4 5 17/22 ecos + RedBoot ecos system RT o wysokiej efektywności. REDBOOT bootloader, w oparciu o ecos HAL. Umożliwia załadowanie do pamięci danych za pomocą portu szeregowego lub ethernetu. Umożliwia zapis do pamięci FLASH.

5. Płytka Embest NK9315 1 2 3 4 5 18/22 RedBoot mapa pamięci

5. Płytka Embest NK9315 1 2 3 4 5 19/22 Aplikacje graficzne

5. Płytka Embest NK9315 1 2 3 4 5 20/22 Aplikacje graficzne - tabela

Embedded Linux 21/22 Polecana literatura 1) P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Development, Auerbach Publications 2006 2) D. Bovet, Understanding the Linux Kernel, O Reilly 2005

Embedded Linux 22/22 dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44 KONIEC

Embedded Linux 23/22 Propozycje tematów Architektura Komputerów: 1) Implementacja procesora z asynchroniczną ścieżka danych w FPGA 2) System dydaktyczny do prezentacji działania architektury ARM 3) Implementacja procesora 8086 w FPGA 4) System operacyjny czasu rzeczywistego do obliczeń elastycznych w oparciu o algorytmy planowania Schwarzfischer a

Embedded Linux 24/22 Propozycje tematów Dedykowane organizacje procesorów 5) Szacowanie kosztu implementacji algorytmów o zmiennej strukturze 6) Aplikacja do rozlokowania na sprzęt i oprogramowanie dla wielu algorytmów jednocześnie z wykorzystaniem algorytmu GCLP-MF 7) Optymalizacja powierzchnii układu poprzez użycie algorytmów zwijania 8) Środowisko generowania kodu dla FPGA do zdarzeniowych aplikacji graficznych

Embedded Linux 25/22 Aplikacje systemów wbudowanych 9) System do lokalizacji intruza w pomieszczeniu na podstawie sieci mikrofonów 10) Lokalizacja i śledzenie obiektu w torze wizyjnym 11) Analizator stanów logicznych na FPGA 12) Robot do walk sumo Propozycje tematów 13) Roboty do gry zespołowej w piłkę 14) System zdalnej obserwacji i zarządzania obiektem. 15) Implementacja komunikacji USB jako IPCore w FPGA

Embedded Linux 26/22 Propozycje tematów Widzenie maszynowe 16) Algorytm lokalizacji w przestrzenii robota na podstawie toru wizyjnego 17) Algorytm i implementacja w FPGA korekcji sygnału z czujników na bazie algorytmów statystycznego przetwarzania sygnałów. 18) Rozpoznawanie defektów w aplikacji inspekcji maszynowej 19) Implementacja algorytmów detekcji ruchu w FPGA 20) Implementacja transformaty Hough w FPGA

Embedded Linux 27/22 Propozycje tematów DSP i systemy komunikacyjne (w szczególnośći komunikacji radiowej) 21) Algorytm elastycznej transformaty DFT w FPGA 22) Algorytm elastycznego filtru Butterwortha w FPGA 23) Modem do transmisji szerokopasmowej w oparci o techniki nierównomiernego próbkowania 24) Implementacja elastycznej konwersji częstotliwości 25) Implementacja filtracji typu particle filter 26) Metoda automatycznego doboru szerokości bitowej na różnych etapach przetarzania algorytmu DSP.

Embedded Linux 28/22 Propozycje tematów Systemy automatyczne i inne (luźne): 27) Implementacja algorytmów uczenia maszynowego w FPGA 28) Implementacja i sprawdzenie teorii map lokacyjnych Treisman a 29) Implementacja i sprawdzenie teorii proceduralnej reprezentacji informacji 30) Wpływ mechanizmów elastycznego sterowania algorytmem estymacji na oszacowanie parametrów estymatora za pomocą CRLB.