Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
Struttura del corso
1. Introduzione al Kernel Linux
- Panoramica su Embedded Linux
- Architettura del kernel Linux
- Spazio utente vs. spazio kernel
- Responsabilità del kernel
- Flusso di lavoro per lo sviluppo del kernel
- Panoramica delle piattaforme embedded supportate
2. Configurazione dell'Ambiente di Sviluppo
- Preparazione della workstation di sviluppo
- Concetti di cross-compilazione
- Installazione degli strumenti di sviluppo necessari
- Configurazione della scheda di sviluppo BeagleBone Black
- Configurazione della console seriale
- Avvio del dispositivo di destinazione
3. Acquisizione e Comprensione del Codice Sorgente del Kernel
- Albero dei sorgenti del kernel Linux
- Kernel stabili vs. kernel a lungo termine (LTS)
- Download dei sorgenti del kernel
- Esplorazione della struttura del codice sorgente
- Documentazione del kernel
- Gestione delle versioni del kernel
4. Configurazione, Compilazione e Avvio del Kernel
- Configurazione del kernel con menuconfig
- Selezione delle funzionalità del kernel
- Compilazione cross del kernel
- Creazione delle immagini del kernel
- Installazione dei moduli del kernel
- Panoramica sul bootloader
- Avvio di un kernel personalizzato
5. Fondamenti dello Device Tree
- Purposes dello Device Tree
- File sorgente Device Tree (DTS)
- Device Tree Blob (DTB)
- Concetti di descrizione hardware
- Modifica dei file Device Tree
- Compilazione e distribuzione degli Device Tree
6. Moduli del Kernel Linux
- Architettura dei moduli del kernel
- Costruzione di moduli del kernel caricabili
- Caricamento e scaricamento dei moduli
- Parametri dei moduli
- Dipendenze tra moduli
- Interazione con i moduli del kernel
- Tecniche di debug dei moduli
7. Debug del Kernel Linux
- Logging del kernel con printk()
- Utilizzo di dmesg
- Debug dinamico
- Analisi dei kernel panic
- Messaggi Oops
- Debug con GDB
- Strumenti di base per il tracciamento delle prestazioni
8. Driver per Dispositivi Caratteri
- Modello dei driver di dispositivo in Linux
- Dispositivi caratteri
- Registrazione dei driver
- Operazioni sui file
- Operazioni di lettura e scrittura
- Interfaccia IOCTL
- Gestione della memoria
- Pulizia del driver
9. Integrazione dei Driver e Accesso all'Hardware
- Dispositivi e driver di piattaforma
- Programmazione GPIO
- Gestione delle interruzioni
- Timer e lavori differiti
- Accesso ai registri hardware
- Lavoro con I/O memorizzabile (memory-mapped I/O)
10. Controllo delle Versioni con Git
- Fondamenti di Git
- Gestione del codice sorgente del kernel
- Rami e fusioni (branching e merging)
- Creazione di patch
- Revisione delle modifiche
- Collaborazione nello sviluppo del kernel
11. Laboratori Pratici per lo Sviluppo del Kernel
- Configurazione di un kernel personalizzato
- Compilazione e distribuzione del kernel
- Creazione di un semplice modulo del kernel
- Sviluppo di un driver base per dispositivo caratteri
- Modifica dei file Device Tree
- Debug di problemi del kernel su BeagleBone Black
12. Best Practices e Riepilogo
- Stile di codifica del kernel
- Scrittura di driver mantenibili
- Errori comuni nello sviluppo
- Risorse per la documentazione del kernel
- Flusso di lavoro per i contributi open-source
- Revisione dei concetti chiave
- Domande e risposte
- Prossimi passi per lo sviluppo del kernel Linux
Requisiti
Conoscenza basilare dell'uso di un sistema GNU/Linux
14 ore
Recensioni (2)
La conoscenza del formatore. Era in grado di rispondere a tutte le mie domande, anche quelle relative alla nostra piattaforma. Ha continuato ad aiutarci fino a quando tutti abbiamo compreso il materiale.
James O'Donnell - Tennant Company
Corso - Embedded Linux Kernel and Driver Development
Traduzione automatica
I liked the hands-on nature of it.
Maurice Egan
Corso - Embedded Linux Kernel and Driver Development
Traduzione automatica