Archives de la catégorie ‘Kernel’

Pilotage de GPIO avec l’API Libgpiod (Partie 3)

Embarqué, Kernel, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Oct 29 2018

Après l’étude des outils disponible en ligne de commande pour piloter des lignes GPIO (partie 1), puis celles de l’accès depuis un programme avec l’appel système ioctl() ou la version context-less de la bibliothèque Libgpiod (partie 2), nous poursuivons en examinant les fonctions bas niveaux de cette bibliothèque. Nous aborderons également le thème des performances d’accès aux GPIO selon la méthode choisie.

Lire la suite de cette entrée »

Pilotage de GPIO avec l’API Libgpiod (partie 2)

Embarqué, Kernel, Linux, Raspberry Pi | Publié par cpb
Oct 22 2018

Dans l’article précédent de cette série, nous avons examiné les commandes disponibles au niveau du shell pour piloter des lignes GPIO avec la nouvelle API proposée par le noyau Linux.

Nous allons à présent nous intéresser à l’accès depuis un programme C/C++ en utilisant cette API.

Lire la suite de cette entrée »

Pilotage de GPIO avec l’API Libgpiod (partie 1)

Embarqué, Kernel, Linux, Raspberry Pi | Publié par cpb
Oct 15 2018

J’ai assisté il y a quelques jours, lors de l’édition 2018 des Kernel Recipes à une présentation par Bartosz Golaszewski  de la nouvelle interface des GPIO pour l’espace utilisateur de Linux. J’en avais eu un bref aperçu il y a quelques mois mais je n’avais pas encore pris le temps d’essayer cette API. Cet article est donc une brève présentation et mise en œuvre de ces outils.

Lire la suite de cette entrée »

[Kernel] Interruptions et tasklets

Kernel, Linux, Raspberry Pi, Temps-réel | Publié par cpb
Juin 06 2017

[Kernel Interruptions et tasklets

Il existe plusieurs mécanismes proposés par le noyau Linux pour programmer un traitement à réaliser lorsqu’un périphérique externe déclenche une interruption pour nous notifier de l’occurrence d’un événement. Gestionnaire monolithique, tasklet, workqueue, threaded interrupt, chaque solution a des avantages et des inconvénients, qu’il est intéressant de connaître pour optimiser l’efficacité de nos traitements.

Lire la suite de cette entrée »