Linux w systemach wbudowanych
Czas trwania szkolenia:2 dni (16h)
Kod kursu:LINUX/ES
Poziom zaawansowania:
O szkoleniu Linux w systemach wbudowanych
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
Dla kogo?
- Szkolenie skierowane jest do programistów i integratorów, chcących rozpocząć pracę z systemami wbudowanymi opartymi o system operacyjny Linux
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
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
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
Program
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