Plan Szkolenia

Wprowadzenie

  • Historia systemu Unix/Linux
  • Wolne oprogramowanie
  • Filozofia systemu Unix

PLAC ZABAW DLA HOSTÓW

  • Zabawa z GNU/Linux
    • architektura
    • powłoka
    • uprawnienia
    • FHS (standard hierarchii plików)
    • twarde/miękkie linki
    • rzeczywisty/efektywny uid/gid
    • harmonogram
    • proces/zadanie/wątek
    • IPC prosty/zaawansowany
      • potoki
      • sygnały
      • kolejki komunikatów
      • semafory
      • pamięć współdzielona
      • gniazda
      • select/poll
    • Techniki IPC, których należy unikać
  • Konfiguracja hosta Linux
    • Yocto/ELDK (narzędzia cross/target, biblioteki, pakiety)
    • Emulacja terminala
    • Serwery (DHCP, tftp, NFS)

DOCELOWY PLAC ZABAW

  • pliki potrzebne do uruchomienia czegoś na pokładzie
    • Konfiguracja JTAG/BDI
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • płaskie drzewo urządzeń
  • budowanie/wykonywanie tego, co ma zastosowanie z góry na płycie docelowej
  • różne rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • buduje/wykonuje to, co ma zastosowanie od góry na płycie docelowej
  • porównanie głównych systemów plików
  • debugowanie
    • proste narzędzia
    • lokalny/zdalny
    • użytkownik/jądro
    • gdb
    • gdbserver
    • JTAG/BDI (opcjonalnie)
  • profilowanie
    • gprof
    • gcov
    • oprofile

CZAS RZECZYWISTY

  • warunki wstępne
    • przerwania
    • kod rekurencyjny
  • czas rzeczywisty Linux
    • jawne/niejawne punkty wstrzymania
    • poprawka do wywłaszczania w czasie rzeczywistym
    • w pełni wywłaszczające jądro
    • twarde rozszerzenia czasu rzeczywistego
  • Adeos/Xenomai
    • łatka adeos
    • xenomai
    • patch/config/build kernel
    • uruchom na pokładzie

SW RELEASE

  • administracja
  • rozwój
  • Jak odtworzyć wydanie SW?

MISC

  • getopt
  • endianess
  • cheat-sheets

O ile nie zaznaczono inaczej, zawartość tego konspektu kursu jest objęta licencją Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Wymagania

  • Podstawowa znajomość korzystania z systemu GNU/Linux (np. Ubuntu) jako użytkownik końcowy w przestrzeni użytkownika 
  • Podstawowa znajomość powłoki wiersza poleceń 
  • Podstawowa znajomość przestrzeni użytkownika/rozwoju aplikacji z GNU/Linux 
  • Podstawowa wiedza na temat procesorów wbudowanych i płyt rozwojowych 
  • Podstawowa znajomość programowania w języku C 
  • …i/lub lub obawa przed nauką powyższych… 
 35 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (3)

Propozycje terminów

Powiązane Kategorie