Sei in: Altro

Sviluppo driver linux

CORSO SVILUPPO DRIVER LINUX (19-22 Maggio 2014) - Aperte le iscrizioni - Sede Roma/Frascati


Creare un Driver per Linux con il CORSO SVILUPPO DRIVER LINUX (Roma/Frascati dal 19 al 22 MAGGIO 2014)


L’obiettivo di questo corso, organizzato in 4 giornate, è quello di fornire le conoscenze necessarie per lo sviluppo di driver di periferica per sistemi Linux. In ogni lezione saranno alternati concetti teorici ed esercitazioni pratiche, durante le quali saranno sviluppati driver di esempio che permetteranno di applicare immediatamente i concetti acquisiti.


Prerequisiti


Al fine di poter attendere il corso con il massimo profitto è consigliato che lo studente sia in possesso delle seguenti conoscenze:


- esperienza di programmazione nel linguaggio C.
- familiarità con sistemi Linux.


PROGRAMMA DEL CORSO


Intorduzione:



  • astrazione delle periferiche in Linux
  • classi di dispositivi (character, block, network)
  • Linux VFS e device file
  • struttura e organizzazione di un driver





Moduli del kernel Linux:



  • scrivere e compilare un semplice modulo
  • gestire i moduli dalla linea di comando
  • parametri e licenza dei moduli
  • debugging di moduli del kernel




Driver a caratteri:



  • major e minor number
  • registrare un device file a caratteri
  • tabella delle operazioni su file
  • trasferire dati tra spazio utente e kernel
  • metodi open, close, read e write





Gestione del tempo:



  • timekeeping
  • introduzione di ritardi
  • waitqueue




Attività procrastinabili:



  • contesti di esecuzione del kernel e relative restrizioni
  • timer legacy ed ad alta risoluzione
  • tasklet
  • workqueue




Gestione della concorrenza:


  • kernel preemption
  • quando la sicronizzazione è necessaria
  • variabili per-CPU
  • operazioni atomiche
  • barriere di memoria
  • identificazione delle sezioni critiche
  • spinlocks
  • semafori e mutex
  • abilitare e disabilitare le interruzioni


Allocazione della memoria:



  • introduzione alla gestione della memoria in Linux
  • allocare page frames
  • kmalloc e le sue varianti
  • kvalloc


Rilevazioni dei dispositivi e gestione del bus:



  • supporto Linux per bus PCI
  • supporto Linux per bus USB




Comunicazione con l'hardware:



  • porte di I/O
  • memoria di I/O
  • allocazione e mapping di spazi di I/O
  • funzioni per leggere e scrivere porte e memorie di I/O




Gestione delle interruzioni:



  • IRQ legacy, MSI e MSI-X
  • registrazione di un gestore delle interruzioni
  • come scrivere un gestore delle interruzioni
  • separazione tra gestori top half e bottom half




File operation avanzate:


  • mmap
  • ioctl
  • I/O bloccante e non






Driver per dispositivi a blocchi:


  • introduzione ai dispositivi a blocchi
  • registrazione di un driver a blocchi
  • code di richieste
  • operazioni per dispositivi a blocchi
  • gestione delle richieste






Driver per schede di rete:



  • registrazione di un netdevice
  • network operation
  • ethtool operation
  • inviare e ricevere pacchetti



PER INFO COSTI ED ISCRIZIONI: //www.epigenesys.com/prossimi-corsi/corso-sviluppo-driver-linux/


PER INFO: //www.epigenesys.com/contattaci/


Sito ufficiale: www.epigenesys.com/it/


Mail : info@epigenesys.com


Tel: 0039 0694293293


Fax: 0039 96708544


Linkedin: //www.linkedin.com/company/epigenesys-s-r-l-