À l’assaut du sous-système noyau « Industrial I/O » !

 

Dans cet article, nous allons développer un driver de périphérique en utilisant à la fois le bus i2c et le sous-système Industrial I/O. Le but final sera la mise en place d’une petite application Qt/QML permettant d’afficher les informations d’un capteur sur écran LCD.

Au sommaire de l’article

1. Espace noyau

1.1 Contexte

1.2 Rappel : « Linux Device/Driver Model »

1.2.1 struct bus_type

1.2.2 struct device_driver

1.2.3 struct device

2. Le bus i2c : les bases de notre pilote de périphérique

2.1 Sortez le clavier !

2.2 Gestion du pilote

2.2.1 Mise à jour de l’image Noyau

2.2.2 Mise à jour du fichier device-tree

2.2.3 Compilation « Out of tree »

3. Le sous-système Industrial Input/Output

3.1 Sous-système Industrial I/O

3.1.1 Un peu d’histoire…

3.1.2 L’architecture

3.2 Les mains dans le cambouis…

3.2.1 Fonction probe()

3.2.2 Fonction remove()

3.3 do_deploy()

4. Un peu de QML …

4.1 Préparation de l’environnement

4.2 Récupération des données : « show me the code !

4.3 Partage-moi si tu peux !

4.4 Affiche-moi si tu peux !

5. Fork me

Conclusion

Références

Pierre-Jean TEXIER, Jean CHABRERIE

 > Lire l’intégralité de cet article sur notre plateforme de lecture en ligne Connect  

Retrouvez cet article (et bien d’autres) dans GNU/Linux Magazine n°215, disponible sur la boutique et sur Connect !