Mulțumim pentru trimiterea solicitării! Un membru al echipei noastre vă va contacta în curând.
Mulțumim pentru trimiterea rezervării! Un membru al echipei noastre vă va contacta în curând.
Schița de curs
1. Introducere în Kernel-ul Linux
- Panou de ansamblu al Linux-ului încorporat
- Arhitectura kernel-ului Linux
- Spațiul utilizator versus spațiul kernel
- Responsabilitățile kernel-ului
- Fluxul de lucru pentru dezvoltarea kernel-ului
- Panou de ansamblu al platformelor încorporate suportate
2. Configurarea Mediului de Dezvoltare
- Pregătirea stației de lucru pentru dezvoltare
- Concepte de compilare încrucișată
- Instalarea instrumentelor necesare de dezvoltare
- Configurarea plăcii de dezvoltare BeagleBone Black
- Configurarea consolei seriale
- Încărcarea dispozitivului țintă
3. Obținerea și Înțelegerea Surselor Kernel-ului
- Arcivia surselor kernel-ului Linux
- Kernele stabile versus cele cu suport pe termen lung (LTS)
- Descărcarea surselor kernel-ului
- Explorarea structurii codului sursă
- Documentația kernel-ului
- Gestionarea versiunilor kernel-ului
4. Configurarea, Compilarea și Încărcarea Kernel-ului
- Configurarea kernel-ului utilizând menuconfig
- Selecția funcționalităților kernel-ului
- Compilarea încrucișată a kernel-ului
- Construirea imaginilor kernel-ului
- Instalarea modulelor kernel-ului
- Panou de ansamblu asupra bootloader-ului
- Încărcarea unui kernel personalizat
5. Fundamentele Arborelui de Dispozitive (Device Tree)
- Scoalul arborelui de dispozitive
- Fișiere sursă ale arborelui de dispozitive (DTS)
- Blob-ul arborelui de dispozitive (DTB)
- Concepte de descriere hardware
- Modificarea fișierelor arborelui de dispozitive
- Construirea și implementarea arborilor de dispozitive
6. Modulele Kernel-ului Linux
- Arhitectura modulelor kernel-ului
- Compilarea modulelor încărcabile ale kernel-ului
- Încărcarea și descărcarea modulelor
- Parametrii modulelor
- Dependențele modulelor
- Interacțiunea cu modulele kernel-ului
- Tehnici de depanare a modulelor
7. Depanarea Kernel-ului Linux
- Jurnalizarea kernel-ului cu printk()
- Utilizarea comenzii dmesg
- Depanarea dinamică
- Analis panicii kernel-ului
- Mesaje Oops
- Depanarea cu GDB
- Instrumente de bază de urmărire a performanței
8. Drivere pentru Dispozitive Caracter
- Modelul de driver pentru dispozitive Linux
- Dispozitivele caracter
- Înregistrarea driverelelor
- Operații fișier
- Operațiile de citire și scriere
- Interfața IOCTL
- Gestionarea memoriei
- Curățarea driverului
9. Integrarea Driverelor și Accesul la Hardware
- Dispozitive platformă și drivere
- Programarea GPIO
- Gestionarea întreruperilor
- Timer-e și sarcini amânate
- Accesarea registrilor hardware
- Lucrul cu intrare/ieșire memorie-mapată
10. Controlul Versiunilor cu Git
- Fundamentele Git
- Gestionarea codului sursă al kernel-ului
- Rameluri și îmbinări (branching and merging)
- Crearea patch-urilor
- Revisuirea modificărilor
- Colaborarea la dezvoltarea kernel-ului
11. Laboratoare Practice de Dezvoltare a Kernel-ului
- Configurarea unui kernel personalizat
- Construirea și implementarea kernel-ului
- Crearea unui modul simplu pentru kernel
- Dezvoltarea unui driver de bază pentru dispozitive caracter
- Modificarea fișierelor arborelui de dispozitive
- Depanarea problemelor kernel-ului pe BeagleBone Black
12. Cele Mai Bune Practici și Rezumat
- Stilul de programare pentru kernel
- Scrierea driverelor ușor de întreținut
- Eșecuri frecvente în dezvoltare
- Resurse de documentație a kernel-ului
- Fluxul de lucru pentru contribuția la open-source
- Revisuirea conceptelor cheie
- Răspunsuri la întrebări
- Următorii pași în dezvoltarea kernel-ului Linux
Cerințe
Cunoștințe de bază despre utilizarea unui sistem GNU/Linux
14 Ore
Mărturii (2)
Cunoașterea instrucționarului. A reușit să răspundă la toate întrebările mele, chiar și cele referitoare la platforma noastră. De asemenea, a continuat să ne ajute până am înțeles complet materialul.
James O'Donnell - Tennant Company
Curs - Embedded Linux Kernel and Driver Development
Tradus de catre o masina
I liked the hands-on nature of it.
Maurice Egan
Curs - Embedded Linux Kernel and Driver Development
Tradus de catre o masina