Linux w systemach wbudowanych
LICZBA DNI: 2 (16h)
KOD KURSU: LINUX/ES
O szkoleniu
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
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
