Un ouvrage détaille comment développer ses propres pilotes logiciels sous Linux

Linux Drivers John Madieu

Le noyau Linux est un logiciel complexe, portable, modulaire et largement utilisé, qui tourne sur environ 80% des serveurs et des systèmes embarqués dans le monde. Les pilotes de périphériques, dans ce cadre, jouent un rôle critique pour la performance globale d'un système Linux. ...Le développement de ces drivers, lien entre l'espace utilisateur et les périphériques via le noyau, devient dès lors une tâche essentielle pour les équipes de développeurs. Dans ce livre sobrement intitulé Linux Device Drivers Development et sous-titré Develop customized drivers for embedded Linux, édité par Packt Publishing, John Madieu décrypte toutes les subtilités de cet exercice à travers des exemples concrets provenant de son expérience de développeur, issue en particulier de son activité au sein de la société française Expemb, dirigée par Jean-Christian Rerat.

Ce livre de quelque 580 pages débute par deux chapitres qui aident à la compréhension de ce qu’est un pilote logiciel, puis traite en profondeur du développement de ces pilotes reposant sur des sous-systèmes Linux tels que la gestion de la mémoire, les PWM, RTC, IIO et autres GPIO, ou la gestion de l'IRQ. Les codes source publiés dans l’ouvrage ont été testés sur des architectures x86 et sur la carte Udoo Quad de Seco construite autour d’un processeur ARM i.MX6 de NXP et dotée de suffisamment de fonctionnalités et de connexions pour couvrir tous les tests décrits dans le livre. Certains pilotes sont également fournis à des fins de test pour des composants économiques tels que le microcontrôleur 16 bits MCP23016 et la mémoire Eeprom 24LC512 de Microchip.

L’objectif de cet ouvrage ambitieux est de populariser le concept de développement de pilotes de périphériques pour que le lecteur, in fine, soit en mesure d'écrire ses propres drivers à partir de zéro en utilisant la dernière version du noyau Linux (v4.13 au moment de l'écriture du livre).

L’ouvrage, disponible sous sa forme numérique en téléchargement, est accessible sur le site de l’éditeur Packt, ici.