Szkolenie: Linux w systemach wbudowanych
Otwarty system operacyjny
Czas trwania szkolenia:2 dni (16h)
Kod kursu:LINUX/ES
Linux w systemach wbudowanych
Cele szkolenia
Uruchomienie systemu Linux na wybranej platformie wbudowanej
Poznanie technik pracy z zestawami deweloperskimi
Kompilowanie i konfigurowanie jądra systemu oraz aplikacji dla wbudowanego Linuksa
Podczas szkolenia części teoretyczne będą przeplatane praktycznymi ćwiczeniami z wykorzystaniem płytek deweloperskich w celu utrwalenia i wdrożenia w życie przyswojonej wiedzy
Użytkownicy między innymi uruchomią system Linux od podstaw na platformie wbudowanej, rozpoczynając od konfiguracji bootloadera oraz uruchomienia jądra systemu
Dla kogo?
Szkolenie skierowane jest do programistów i integratorów, chcących rozpocząć pracę z systemami wbudowanymi opartymi o system operacyjny Linux
Zalety
Całe szkolenie nastawione jest na zastosowanie teorii w praktyce
Uczestnicy będą przez całe szkolenie przechodzili przez kolejne etapy przystosowania i uruchomienia Linuksa na ich własnym zestawie deweloperskim
Takie podejście pozwala na dostrzeżenie drobnych, acz istotnych, szczegółów implementacyjnych jak i nabrania pewnej swobody i pewności przy pracy ze sprzętem
Jednocześnie unifikacja platformy sprzętowej - użycie płytki BeagleBone Black, pozwala na skupienie się na samym sednie szkolenia i uniknięcie niespodziewanych problemów związanych z niestabilnością środowiska
W szczególności uczestnicy w praktycznych zadaniach poznają typowe czynności wykonywane przy instalacji systemu Linux na platformach wbudowanych
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Od uczestników szkolenia wymagana jest umiejętność pracy w systemie Linux, obsługa linii poleceń oraz wiedza na temat kompilowania i uruchamiania programów dla tego systemu operacyjnego
Znajomość języka C nie jest obowiązkowa jednak w pewnych sytuacjach może ułatwić przyswojenie materiału
Szkolenie realizowane jest z użyciem płytki BeagleBone Black ale może być dostosowane na innej uzgodnionej platformie
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie do systemów wbudowanych
Platformy sprzętowe
Architektura platformy deweloperskiej używanej w trakcie szkolenia
Systemy operacyjne
Miejsce Linuksa w systemach wbudowanych
Wprowadzenie do systemu Linux w ujęciu systemów wbudowanych
Przegląd elementów składowych systemu (program rozruchowy, jądro, elementy przestrzeni użytkownika)
Metody kompilacji dla systemów wbudowanych
Środowisko deweloperskie dla platformy używanej na warsztatach
Kompilacja skrośna
Kompilator, biblioteki i narzędzia
Opcje kompilacji dla ARM EABI
Biblioteka standardowa
Główny system plików
Bootloader
Mapy pamięci flash i RAM
Procedura startu systemu wbudowanego
Bootloader pierwszego poziomu
U-Boot (Przygotowanie U-Boot, konfiguracja, ładowanie jądra systemu przez TFTP, montowanie głównego systemu plików przez NFS)
Przygotowanie jądra systemu
Struktura drzewa katalogów kodu źródłowego jądra, omówienie wybranych gałęzi
Profile dla platform sprzętowych
Zarządzanie konfiguracją
Elementy wkompilowane w jądro kontra moduły
Narzędzia ułatwiające budowanie systemu
Obsługa i rodzaje urządzeń w systemie Linux
Programy przestrzeni użytkownika
Przygotowanie root filesystem
Podstawowa konfiguracja systemu operacyjnego (interfejsy sieciowe, skrypty startowe)
Kompilacja skrośna bibliotek i programów
Komunikacja między jądrem a przestrzenią użytkownika
Metody komunikacji z systemem wbudowanym
Konsola szeregowa i narzędzia do jej obsługi, emulatory terminali
Transfer plików przez połączenie szeregowe (protokoły XMODEM, YMODEM)
Narzędzia systemowe przydatne w pracy sieciowej: ssh, smb, netcat
Debugowanie (gdb, gdbserver)
Zrzuty pamięci (core dumps) i omówienie informacji w nich zawartych