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 kernelul Linux
- Prezentare generală a Linux Embedded
- Arhitectura kernelului Linux
- Spațiul utilizator vs. spațiul kernel
- Responsabilitățile kernelului
- Fluxul de lucru în dezvoltarea kernelului
- Prezentare generală a platformelor Embedded suportate
2. Configurarea mediului de dezvoltare
- Pregătirea stației de lucru pentru dezvoltare
- Concepte de compilare încrucișată
- Instalarea instrumentelor de dezvoltare necesare
- Configurarea plăcii de dezvoltare BeagleBone Black
- Configurarea consolei seriale
- Pornirea dispozitivului țintă
3. Obținerea și înțelegerea codului sursă al kernelului
- Arborele sursă al kernelului Linux
- Kerneluri stabile vs. kerneluri cu suport pe termen lung
- Descărcarea surselor kernelului
- Explorarea structurii codului sursă
- Documentația kernelului
- Gestionarea versiunilor de kernel
4. Configurarea, compilarea și pornirea kernelului
- Configurarea kernelului folosind menuconfig
- Selectarea funcționalităților kernelului
- Compilarea încrucișată a kernelului
- Construirea imaginilor de kernel
- Instalarea modulelor kernelului
- Prezentare generală a bootloaderului
- Pornirea unui kernel personalizat
5. Fundamentele arborelui de dispozitive
- Scopul arborelui de dispozitive
- Fișierele Device Tree Source (DTS)
- Device Tree Blob (DTB)
- Concepte de descriere hardware
- Modificarea fișierelor Device Tree
- Construirea și implementarea arborilor de dispozitive
6. Module ale kernelului Linux
- Arhitectura modulelor kernelului
- Construirea modulelor de kernel încărcabile
- Încărcarea și descărcarea modulelor
- Parametrii modulelor
- Dependențele modulelor
- Interacțiunea cu modulele kernelului
- Tehnici de depanare a modulelor
7. Depanarea kernelului Linux
- Jurnalizarea kernelului cu printk()
- Utilizarea dmesg
- Depanare dinamică
- Analiza panicării kernelului
- Mesajele Oops
- Depanare cu GDB
- Instrumente de bază pentru urmărirea performanței
8. Drivere de dispozitive de tip caracter
- Modelul de drivere de dispozitive Linux
- Dispozitive de tip caracter
- Înregistrarea driverelor
- Operații pe fișiere
- Operații de citire și scriere
- Interfața IOCTL
- Gestionarea memoriei
- Eliberarea resurselor driverului
9. Integrarea driverelor și accesul hardware
- Dispozitive și drivere de platformă
- Programare GPIO
- Gestionarea întreruperilor
- Temporizatoare și lucru amânat
- Accesarea registrilor hardware
- Lucrul cu I/O mapat în memorie
10. Controlul versiunilor cu Git
- Fundamentele Git
- Gestionarea codului sursă al kernelului
- Ramificare și fuziune
- Crearea de patch-uri
- Revizuirea modificărilor
- Colaborarea la dezvoltarea kernelului
11. Laboratoare practice de dezvoltare a kernelului
- Configurarea unui kernel personalizat
- Construirea și implementarea kernelului
- Crearea unui modul de kernel simplu
- Dezvoltarea unui driver de dispozitiv de tip caracter de bază
- Modificarea fișierelor Device Tree
- Depanarea problemelor de kernel pe BeagleBone Black
12. Bune practici și rezumat
- Stilul de codare al kernelului
- Scrierea de drivere ușor de întreținut
- Capcane comune în dezvoltare
- Resurse de documentație ale kernelului
- Fluxul de lucru pentru contribuții open-source
- Recapitularea conceptelor cheie
- Întrebări și răspunsuri
- Pașii următori pentru dezvoltarea kernelului Linux
Cerințe
Familiaritate de bază cu 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