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 Linux Embedded
- Architettura del kernel Linux
- User space vs. kernel space
- Rispettabilità 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 target
3. Ottenerlo e comprendere il sorgente del kernel
- Struttura ad albero del codice sorgente del kernel Linux
- Kernel stabili rispetto a quelli con supporto a lungo termine
- Scaricamento 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 tramite menuconfig
- Selezione delle funzionalità del kernel
- Cross-compilazione del kernel
- Creazione delle immagini del kernel
- Installazione dei moduli del kernel
- Panoramica sul bootloader
- Avvio di un kernel personalizzato
5. Fondamenti della Device Tree
- Scopo della Device Tree
- File sorgente della Device Tree (DTS)
- Device Tree Blob (DTB)
- Concetti di descrizione dell'hardware
- Modifica dei file della Device Tree
- Costruzione e distribuzione delle Device Trees
6. Moduli del Kernel Linux
- Architettura dei moduli del kernel
- Creazione di moduli caricabili del kernel
- Caricamento e scaricamento dei moduli
- Parametri dei moduli
- Dipendenze dei moduli
- Interazione con i moduli del kernel
- Tecniche di debug dei moduli
7. Debug del Kernel Linux
- Logging del kernel tramite printk()
- Utilizzo di dmesg
- Debug dinamico
- Analisi delle panic del kernel
- Messaggi Oops
- Debug con GDB
- Strumenti base per il tracing delle prestazioni
8. Driver a Dispositivo Character
- Modello dei driver di dispositivo Linux
- Dispositivi character
- Registrazione dei driver
- Operazioni sui file
- Operazioni di lettura e scrittura
- Interfaccia IOCTL
- Gestione della memoria
- Pulizia del driver
9. Integrazione del Driver e Accesso all'Hardware
- Device e driver di piattaforma
- Programmazione GPIO
- Gestione delle interruzioni
- Timer e lavoro differito
- Accesso ai registri dell'hardware
- Lavorare con I/O mappato in memoria
10. Controllo di versione con Git
- Fondamenti di Git
- Gestione del codice sorgente del kernel
- Branching e merging
- Creazione di patch
- Revisione delle modifiche
- Collaborazione nello sviluppo del kernel
11. Laboratori pratici di sviluppo del Kernel
- Configurazione di un kernel personalizzato
- Creazione e distribuzione del kernel
- Creazione di un semplice modulo del kernel
- Sviluppo di un driver di dispositivo character base
- Modifica dei file della Device Tree
- Debug dei problemi del kernel su BeagleBone Black
12. Best Practices e Sintesi
- Stile di codifica del kernel
- Scrittura di driver manutenibili
- Pitfalls comuni nello sviluppo
- Risorse per la documentazione del kernel
- Flusso di lavoro per le contribuzioni open-source
- Revisione dei concetti chiave
- Domande e risposte
- Prossimi passi per lo sviluppo del kernel Linux
Requisiti
Conoscenza di base 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