Zkuste nás kontaktovat

Návrh Školení

1. Úvod do jádra Linuxu

  • Přehled vestavěného Linuxu
  • Architektura jádra Linuxu
  • Uživatelský prostor vs. jádrový prostor
  • Povinnosti jádra
  • Průběh vývoje jádra
  • Přehled podporovaných vestavěných platform

2. Nastavení vývojového prostředí

  • Příprava vývojové stanice
  • Koncepce křížového překladu
  • Instalace požadovaných vývojových nástrojů
  • Nastavení vývojové desky BeagleBone Black
  • Konfigurace sériové konzole
  • Spuštění cílového zařízení

3. Získání a pochopení zdrojového kódu jádra

  • Strom zdrojového kódu jádra Linuxu
  • Stabilní vs. jádra s dlouhodobou podporou
  • Stažení zdrojového kódu jádra
  • Prozkoumání struktury zdrojového kódu
  • Dokumentace jádra
  • Správa verzí jádra

4. Konfigurace, kompilace a spuštění jádra

  • Konfigurace jádra pomocí menuconfig
  • Výběr funkcí jádra
  • Křížová kompilace jádra
  • Sestavení obrazů jádra
  • Instalace modulů jádra
  • Přehled bootloadera
  • Spuštění vlastního jádra

5. Základy stromu zařízení (Device Tree)

  • Účel stromu zařízení
  • Zdrojové soubory stromu zařízení (DTS)
  • Blob soubory stromu zařízení (DTB)
  • Koncepce popisu hardwaru
  • Úprava souborů stromu zařízení
  • Sestavení a nasazení stromů zařízení

6. Moduly jádra Linuxu

  • Architektura modulů jádra
  • Sestavení načítnutelných modulů jádra
  • Načítání a uvolňování modulů
  • Parametry modulů
  • Závislosti modulů
  • Interakce s moduly jádra
  • Techniky ladění modulů

7. Ladění jádra Linuxu

  • Logování jádra pomocí printk()
  • Používání dmesg
  • Dynamické ladění
  • Analýza paniky jádra
  • Chybové hlášení Oops
  • Ladění pomocí GDB
  • Základní nástroje pro sledování výkonu

8. Ovladače znakových zařízení

  • Model ovladačů zařízení Linuxu
  • Znaková zařízení
  • Registrace ovladačů
  • Operace se soubory
  • Operace čtení a zápisu
  • Rozhraní IOCTL
  • Správa paměti
  • Uklízení ovladačů

9. Integrace ovladačů a přístup k hardwaru

  • Platformní zařízení a ovladače
  • Programování GPIO
  • Zpracování přerušений
  • Časovače a odložená práce
  • Přístup k registrům hardwaru
  • Práce s paměťovými mapy I/O

10. Správa verzí pomocí Gitu

  • Základy Gitu
  • Správa zdrojového kódu jádra
  • Větvování a slučování
  • Vytváření patchů
  • Rejvize změn
  • Spolupráce při vývoji jádra

11. Praktická cvičení ve vývoji jádra

  • Konfigurace vlastního jádra
  • Sestavení a nasazení jádra
  • Vytvoření jednoduchého modulu jádra
  • Vývoj základního ovladače znakového zařízení
  • Úprava souborů stromu zařízení
  • Ladění problémů jádra na BeagleBone Black

12. Nejlepší praxe a shrnutí

  • Styl kódování jádra
  • Psaní udržitelných ovladačů
  • Běžné pasti vývoje
  • Zdroje dokumentace jádra
  • Průběh přispívání do open-source projektů
  • Opakování klíčových pojmů
  • Otázky a odpovědi
  • Další kroky ve vývoji jádra Linuxu

Požadavky

Záznámní znalosti používání systému GNU/Linux

 14 Hodiny

Počet účastníků


Cena za účastníka

Reference (2)

Nadcházející kurzy

Související kategorie