Archives de la catégorie ‘Microprocesseur’

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 »

Du firmware sur micro-contrôleur à l’application embarquée

Linux, Microcontrôleur, Microprocesseur | Publié par cpb
Nov 19 2013

Dans le cadre du séminaire « Du micro-contrôleur au PC embarqué » organisé à Villeneuve d’Ascq par Cap’Tronic et le Parc Scientifique de la Haute Borne , j’ai présenté aujourd’hui une conférence sur la transition que représente, pour un développeur accoutumé à la programmation de micro-contrôleur, l’évolution vers une application s’exécutant sur un système Linux embarqué.

Le contenu de ma présentation intitulée « Du firmware sur micro-contrôleur à l’application embarquée : Architectures, techniques et méthodes logicielles » est disponible ici.

Hard Reset sur Raspberry Pi

Embarqué, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Juil 12 2013

Hard Reset sur Raspberry PiLe Raspberry Pi ne comporte pas de bouton « reset » – ni d’ailleurs aucun autre bouton – et la plupart du temps on le redémarre soit logiciellement (en utilisant la commande reboot par exemple) soit électriquement en le débranchant puis le rebranchant.

Il est pourtant pratique de disposer d’un bouton de réinitialisation hard lors de développement de modules kernel susceptibles de geler le système en cas d’erreur ou si des tâches temps réel se mettent à boucler frénétiquement.

Lire la suite de cette entrée »

BeagleBone Black et PWM

Beagle Bone Black, Embarqué, Linux, Microprocesseur | Publié par cpb
Juil 06 2013

Je me suis intéressé aux sorties PWM du BeagleBone Black. Quatre d’entre elles sont directement accessibles sur les connecteurs d’extension P8 et P9. L’accès en est encore relativement simple. En revanche pour les deux autres, il a fallu que j’explore le fonctionnement du Device Tree décrivant les entrées-sorties du BeagleBone Black, ce que j’aborderai dans un autre article.
Lire la suite de cette entrée »

Entrées analogiques du Beagle Bone Black

Beagle Bone Black, Embarqué, Linux, Microprocesseur | Publié par cpb
Mai 25 2013

BeagleBone Black Entrées AnalogiquesLe nouveau BeagleBone Black est compatible avec son prédécesseur blanc en ce qui concerne les ports d’entrées-sorties, ce qui lui permet d’hériter de ses fameuses « capes » (les cartes d’extension que l’on peut empiler afin d’ajouter de nouvelles fonctionnalités). Pour commencer à explorer le BeagleBone Black, je me suis intéressé à ses entrées analogiques, comme @HuguesSert me l’avait suggéré sur Twitter.

Lire la suite de cette entrée »

Console série de debug pour BeagleBone Black

Beagle Bone Black, Embarqué, Linux, Microprocesseur | Publié par cpb
Mai 17 2013

BeagleBone Black Serial DebugSi vous désirez voir les messages de boot du noyau Linux, ou vous connecter sur l’interface du bootloader Uboot, ou encore ouvrir une console texte d’administration rapidement, vous pouvez facilement employer le connecteur Serial Debug du BeagleBone Black.

Lire la suite de cette entrée »

Un nouvel os à ronger !

Beagle Bone Black, Embarqué, Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Mai 13 2013

Beaglebone BlackIl y a un quart d’heure de cela, un livreur a déposé sur mon bureau deux exemplaires (pour limiter les frais de port) d’un nouveau terrain de jeu pour hackers de Linux embarqué : le BeagleBone Black. Je vous propose un petit tour de piste rapide…

Lire la suite de cette entrée »

Attentes passives sur GPIO

Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Avr 15 2013

GPIO select() poll()Nous avons déjà vu dans plusieurs articles qu’il était facile de manipuler les GPIO sous Linux depuis l’espace utilisateur avec l’interface /sys. Jusqu’à présent je ne m’étais intéressé qu’aux lectures et écritures, mais il est également possible de faire des attentes passives de changement d’état avec select() ou poll(). Voyons-en une mise en œuvre sur le Raspberry Pi.

Lire la suite de cette entrée »

Mesure de latences d’interruptions avec un STM32

Embarqué, Linux, Microcontrôleur, Microprocesseur, Raspberry Pi, Temps-réel | Publié par cpb
Mar 13 2013

Raspberry Pi - STM32 - 01J’ai continué mes expériences avec la gestion d’interruptions par un driver RTDM-Xenomai sur les ports GPIO d’un Raspberry Pi que j’avais entamées dans le précédent article. Jusqu’alors j’avais pu déterminer « à l’œil » en utilisant un oscilloscope que le temps de réponse était de l’ordre de 3 à 4 micro-secondes, avec des pointes régulières à 8 micro-secondes environ. Ce sont justement ces pointes – et celles plus longues – qui m’intéressent et j’aimerais en avoir un aperçu plus complet. Mon objectif est de pouvoir déterminer le temps de réponse que peut garantir dans le pire des cas un système temps réel construit sur Xenomai avec l’API RTDM.

Lire la suite de cette entrée »

Les GPIO du Raspberry Pi

Linux, Microprocesseur, Raspberry Pi | Publié par cpb
Nov 26 2012

GPIO & Raspberry PiLe Raspberry Pi offre quelques possibilités d’entrées-sorties directes en utilisant les broches GPIO présentes sur son connecteur P1. Elles ne sont pas très nombreuses (une dizaine) mais cela peut suffire pour des petits projets interactifs nécessitant d’interroger des capteurs tout-ou-rien ou de valider des actionneurs.

Nous pouvons utiliser ces GPIO de différentes façons, depuis l’espace utilisateur ou depuis le noyau. Voyons-en rapidement les principaux aspects…
Lire la suite de cette entrée »