Tack för att du skickade din fråga! En av våra teammedlemmar kontaktar dig snart.
Tack för att du skickade din bokning! En av våra teammedlemmar kontaktar dig snart.
Kursplan
1. Inledning till Linux-kärnan
- Översikt över inbäddad Linux
- Linux-kärnans arkitektur
- Användarutrymme vs. kärnutrymme
- Kärnans ansvarsområden
- Arbetsflöde för kärnutveckling
- Översikt över supportade inbäddade plattformar
2. Inrättning av utvecklingsmiljön
- Utgångspunkt för utvecklingsstationen
- Concepts av korskompilering
- Installation av nödvändiga utvecklingsverktyg
- Inrättning av BeagleBone Black-utvecklingskortet
- Konfiguration av seriell konsol
- Start av mål enheten
3. Hämta och förstå kärnans källkod
- Linux-kärnans källkodsstruktur
- Stabila vs. långtidsstödda kärnor
- Laddning ned av kärnans källkod
- Utforskning av källkodens struktur
- Dokumentation för kärnan
- Hantering av kärnaversioner
4. Konfigurera, kompilera och starta kärnan
- Kärnkonfiguration med menuconfig
- Välj kärnfunktioner
- Korskompilering av kärnan
- Bygg av kärnbilder
- Installation av kärnomoduler
- Översikt av bootladdaren
- Start av en anpassad kärna
5. Grunderna i Device Tree
- Device Trees syfte
- Device Tree Source (DTS)-filer
- Device Tree Blob (DTB)
- Koncept för hårdvarubeskrivning
- Ändring av Device Tree-filer
- Bygg och distribution av Device Trees
6. Linux-kärnomoduler
- Arkitektur för kärnomoduler
- Bygg av laddningsbara kärnomoduler
- Laddning och urladdning av moduler
- Modulparametrar
- Modulberoenden
- Interaktion med kärnomoduler
- Tekniker för felsökning av moduler
7. Felsökning av Linux-kärnan
- Kärnologgning med printk()
- Användning av dmesg
- Dynamisk felsökning
- Analys av kärnpanik
- Oops-meddelanden
- Felsökning med GDB
- Grundläggande prestandaspårningsverktyg
8. Karakterdrivrutiner
- Linux-drivrutinmodell
- Karaktermålenheter
- Registrering av drivrutiner
- Filoperationer
- Läs- och skrivoperationer
- IOCTL-gränssnitt
- Minneshantering
- Rensning av drivrutiner
9. Integrering av drivrutiner och åtkomst till hårdvara
- Plattformar och drivrutiner
- GPIO-programmering
- Störningshantering
- Timrar och utskjutna arbetsuppgifter
- Åtkomst till hårdvaruregistrarer
- Arbetande med minnesmappad in-ut
10. Versionshantering med Git
- Git-grunder
- Hantering av kärnans källkod
- Grening och sammanslagning
- Skapande av patchar
- Granskning av ändringar
- Samarbete inom kärnutveckling
11. Praktiska laborationsövningar i kärnutveckling
- Konfigurering av en anpassad kärna
- Bygg och distribution av kärnan
- Skapande av en enkel kärnomodul
- Utveckling av en grundläggande karakterdrivrutin
- Ändring av Device Tree-filer
- Felsökning av kärnproblem på BeagleBone Black
12. Bästa praxis och sammanfattning
- Kodstil för kärnan
- Skrivning av underhållsbara drivrutiner
- Vanliga utvecklingsfällor
- Dokumentationsresurser för kärnan
- Arbetsflöde för bidrag till öppen källkod
- Genomgång av centrala koncept
- Frågor och svar
- Nästa steg i Linux-kärnutveckling
Krav
Grundläggande kännedom om att använda ett GNU/Linux-system.
14 Timmar
Vittnesmål (2)
Instruktörens kunskap. Han kunde besvara alla mina frågor, även frågor om vår plattform. Han fortsatte också att hjälpa till tills vi alla förstått materialet.
James O'Donnell - Tennant Company
Kurs - Embedded Linux Kernel and Driver Development
Maskintolkat
I liked the hands-on nature of it.
Maurice Egan
Kurs - Embedded Linux Kernel and Driver Development
Maskintolkat