Archives de la catégorie ‘Linux’

Buildroot 2018.02 et Raspberry Pi 3

Embarqué, Linux, Raspberry Pi | Publié par cpb
Nov 08 2018

Suite à un commentaire de Sylvain sur mon article de décembre 2015 qui présentait la construction d’un système embarqué sur Raspberry Pi 2 avec Buildroot, j’ai eu envie de mettre cet article à jour.

La nouvelle version de cet article prend en compte les nouveautés de la dernière version “long terme” de Buildroot (2018.02.7), notamment l’outil genimage, pour construire un système pour Raspberry Pi 3.

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 »

Projet Pi-Logger

Embarqué, Linux, Raspberry Pi | Publié par cpb
Sep 01 2018

Pi-Logger

Projet Pi-Logger

Lors de la mise au point d’un système industriel, il est souvent nécessaire de surveiller les signaux de sortie d’un équipement.
Bien sûr l’oscilloscope et l’analyseur de trames sont indispensables pour l’analyse des signaux instantanés, mais lors des phases de validation d’un produit, il faut généralement faire des observations longues, sur plusieurs heures ou plusieurs jours. Je vous propose un petit outil prévu pour ce genre d’analyse.

Lire la suite de cette entrée »

Petit ajout dans spi-tools

Linux | Publié par cpb
Jan 04 2018

Tout d’abord, je vous souhaite à tous une excellente année 2018 !

Dans l’article Projet spi-tools, je présentais un petit outil permettant de configurer les paramètres d’une liaison SPI depuis la ligne de commande du shell, en s’appuyant sur l’interface spidev. Depuis quelques temps, l’une des options de cet outil ne fonctionnait plus correctement. En effet, plusieurs drivers SPI du kernel réinitialisent la vitesse de communication lorsque l’on referme le descripteur de fichier /dev/spidevX.Y.

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 »

Dailyfile : un petit outil en ligne de commande

Linux, Shell | Publié par cpb
Mai 01 2017

Dailyfile

J’ai récemment été confronté à un souci de taille de fichiers de traces pour le débogage d’une application. Pour résoudre mon problème j’ai écrit un petit programme en ligne de commande permettant de répartir la sortie d’un pipeline du shell dans des fichiers quotidiens.

J’ai appelé cet outil dailyfile et je vous le présente ici, en espérant qu’il puisse servir à d’autres.

Lire la suite de cette entrée »

MSP-omodoro

Embarqué, Linux, Microcontrôleur | Publié par cpb
Avr 10 2017

MSP-omodoro

Le modeste programme présenté dans cet article est extrait d’un exercice de travaux pratiques que je propose aux participants de la formation “Programmation en C sur microcontrôleurs” que j’anime régulièrement. Cet exercice permet de réfléchir en profondeur sur le développement d’un petit projet sur microcontrôleur.

Comme l’objet même de la réalisation peut être utile au quotidien (je l’emploie personnellement), j’ai trouvé intéressant de le partager ici.

Lire la suite de cette entrée »

Xenomai sur Raspberry Pi 3 : bon espoir mais bilan mitigé

Embarqué, Linux, Microprocesseur, Raspberry Pi, Temps-réel | Publié par cpb
Mar 20 2017

Depuis plusieurs mois, on m’interroge régulièrement sur le support de Xenomai sur Raspberry Pi 3 tant durant mes sessions de formations sur Xenomai que dans des messages par mail. J’avais l’habitude de répondre que Xenomai ne fonctionnait pas encore sur ce modèle de Raspberry Pi.

Une remarque récente de Syrine dans les commentaires de l’article “Xenomai 3 sur Raspberry Pi 2” a attiré mon attention sur un site japonais qui utilise les mêmes commandes que celles présentées dans cet article et fait fonctionner l’ensemble sur un Raspberry Pi 3. J’ai voulu tenter également cette installation. Le résultat est un peu mitigé : Xenomai fonctionne parfaitement avec une bonne stabilité, sauf en ce qui concerne la gestion des interruptions des GPIO qui n’est pas supportée encore. Si vous êtes néanmoins tentés par l’expérience, voici comment procéder simplement.

Lire la suite de cette entrée »