Capitole du Libre 2014

Linux, Microcontrôleur, Microprocesseur | Publié par cpb
nov 15 2014

Capitole Du Libre 2014Je présente aujourd’hui à Toulouse une conférence dans le cadre du Capitole du Libre 2014.

Ma présentation s’intitule « Du microcontrôleur au système Linux embarqué – choix d’architectures matérielles et logicielles« . Les slides sont disponibles ici.

Je serai heureux de vous rencontrer à cette occasion.

Linux Magazine Hors Série 75

Actualité, Embarqué, Linux, Raspberry Pi | Publié par cpb
nov 14 2014

gnulinux-magazine-hs-75Le nouveau Linux Magazine Hors Série (numéro 75) vient de paraître aujourd’hui.

Il s’agit d’un guide sur le Raspberry Pi, « niveau avancé ».

J’ai eu le plaisir de signer quatre articles de ce numéro :

  • SPI et Raspberry Pi,
  • Dialogue en SPI avec un MSP 430,
  • Communiquer en i²c avec un capteur de température,
  • Raspberry Pi et temps réel.

Les sources des exemples, scripts, etc. se trouvent sur mon dépôt GitHub.

Extraction des fonctions d’un fichier C

Linux, Shell | Publié par cpb
oct 20 2014

Extraction des fonctions d'un fichier CJ’ai eu besoin il y a quelques jours de comparer deux versions d’un même fichier C après qu’il a subi de nombreuses modifications. La structure du fichier et le contenu ayant beaucoup bougé, les outils habituels (éditeurs, diff, meld, etc.) ne pouvaient me venir en aide. J’avais besoin d’extraire chaque fonction du programme pour qu’elle se trouve dans un fichier séparé. Cela m’a amené à écrire un petit script shell qui pourra peut-être s’avérer utile à d’autres…

Lire la suite de cette entrée »

Projet spi-tools

Embarqué, Linux, Microcontrôleur, Microprocesseur | Publié par cpb
août 12 2014

Je viens de publier sur GitHub un petit projet nommé Spi-tools, regroupant deux utilitaires pour communiquer sous Linux en utilisant le protocole SPI. Ce projet a été écrit pour illustrer le fonctionnement d’un lien SPI entre un microprocesseur sous Linux (Raspberry Pi en l’occurrence) et un microcontrôleur (T.I. MSP430), mais il doit pouvoir s’appliquer à la plupart des besoins de configuration et communication en SPI sous Linux.
Lire la suite de cette entrée »

B+

Embarqué, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
août 06 2014

Raspberry Pi - B+Depuis une quinzaine de jours, nous pouvons disposer d’une nouvelle version du Raspberry Pi nommée « Model B+« . La plupart des critiques que l’on faisait au modèle précédent ont été prises en considération dans cette nouvelle mouture.

Lire la suite de cette entrée »

Ajouter un module noyau personnel dans Buildroot

Embarqué, Linux | Publié par cpb
juil 22 2014

Module kernel dans BuildrootIl m’arrive fréquemment de développer de petits drivers Linux pour des clients afin de gérer des périphériques spécifiques. Ceci la plupart du temps dans un contexte de système embarqué.

Pour la construction d’un système Linux embarqué, ma préférence va généralement à l’environnement de production Buildroot. Celui-ci est plus léger (mais moins riche, il est vrai) que son principal concurrent Yocto.

La documentation de Buildroot est claire et bien fournie, toutefois il n’est pas très facile d’y trouver comment intégrer un driver Linux spécifique, développé pour une cible donnée. Voici donc un petit rappel des fichiers à ajouter ou modifier.
Lire la suite de cette entrée »

Du microcontrôleur au microprocesseur

Actualité, Embarqué, Linux, Microcontrôleur, Microprocesseur | Publié par cpb
juil 10 2014

J’ai eu le plaisir aujourd’hui de présenter une conférence au séminaire Captronic « Du microcontrôleur au microprocesseur – Quelle architecture pour quel projet ? » à la C.C.I Nord Isère de Villefontaine.

Le contenu de ma présentation est disponible ici. J’avais déjà abordé ce thème en novembre dernier à Lille, mais j’ai pu enrichir la présentation avec divers approfondissements sur Linux embarqué, et quelques démonstrations de fonctionnement.

En outre, nous avons présenté avec mon ami François Beaulier une architecture hybride composée d’un microcontrôleur (STM32) couplé à un system-on-chip (Raspberry Pi), communiquant en utilisant une bibliothèque de notre création nommée LxMCU.

Cette bibliothèque libre, est prévue pour faire communiquer un système Linux (« Lx ») avec un microcontrôleur (« MCU ») en utilisant un lien SPI (ou I²C prochainement) et une GPIO. Elle sera bientôt mise en ligne.

PS: je n’ai malheureusement pas pu trouver le temps de rédiger d’article sur ce blog depuis bien longtemps, j’espère pouvoir y remédier dans les semaines à venir.

Utiliser un appel-système inconnu de la libC

Actualité, Linux | Publié par cpb
avr 05 2014

Lundi dernier, Linus a publié le nouveau noyau Linux 3.14. Ce dernier contient de nombreuses nouveautés, dont un mécanisme d’ordonnancement temps réel EDF (Earliest Deadline First) qu’il me tarde d’essayer. Pour cela deux nouveaux appels-système sched_getattr() et sched_setattr() sont proposés au programmeur, mais ils ne sont pas encore supportés par les bibliothèques C actuelles. Qu’à cela ne tienne, nous allons les invoquer directement…
Lire la suite de cette entrée »

Compilation native de modules kernel sur Raspberry Pi

Embarqué, Linux, Raspberry Pi | Publié par cpb
mar 06 2014

2014-03-06On m’a demandé à plusieurs reprises comment compiler les modules pour le noyau du Raspberry Pi que j’ai présenté dans différents articles ou ceux que je propose en illustration de mes sessions de formation. J’emploie généralement une cross-compilation, c’est à dire un compilateur spécifique installé sur un PC pour produire du code pour le processeur à cœur ARM du Raspberry Pi. J’ai déjà présenté cette solution dans plusieurs articles (par exemple celui-ci, celui-ci ou la série d’articles pour Linux Magazine).

Il existe toutefois une autre solution plus simple : la compilation native en utilisant une distribution courante pour Raspberry Pi.
Lire la suite de cette entrée »

GPIO du Raspberry Pi : mesure de fréquence

Embarqué, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
jan 22 2014

Raspberry Pi GPIO frequencyUn lecteur m’a interrogé par mail pour savoir comment mesurer la fréquence d’un signal reçu en entrée sur une broche GPIO du Raspberry Pi. Je lui ai répondu que le plus simple est de mesurer le temps s’écoulant entre deux interruptions successives déclenchées par des fronts montants et de calculer l’inverse. J’ai voulu vérifier que cela fonctionnait, et ai écrit un petit driver pour ce faire.

Lire la suite de cette entrée »