Xenomai 2.6.0 sur Ubuntu 12.04

Linux, Temps-réel | Publié par cpb
Mai 02 2012

Xenomai 2.6.0 sur Ubuntu 12.04J’ai vérifié hier que Xenomai 2.6.0 (la dernière version stable à ce jour) s’installe bien sur la nouvelle distribution Ubuntu. Pas de souci, il suffit de procéder comme pour la distribution précédente (voir cet article) en utilisant ce fichier de configuration pour le noyau Linux 2.6.38.8.

Modifier facilement la fréquence processeur

Embarqué, Linux, Microprocesseur, Temps-réel | Publié par cpb
Avr 30 2012

Linux offre une possibilité intéressante : celle de configurer assez finement la vitesse du processeur depuis la ligne de commande. Il permet d’agir indépendamment (pour autant que l’architecture matérielle le permette) sur les différents coeurs des processeurs. On m’a demandé récemment une petite illustration pratique de ces possibilités : en voici un résumé.

Lire la suite de cette entrée »

[ACTU] Simulateur de second tour des présidentielles

Actualité | Publié par cpb
Avr 23 2012

Vous trouverez sur cette page un petit simulateur en javascript qui permet de calculer les résultats du second tour en fonction de votre estimation personnelle des participations et reports de voix des candidats du premier tour.

Traitements parallèles dans un script shell

Linux, Shell | Publié par cpb
Avr 21 2012

Il est rare de devoir utiliser des traitements en tâche de fond dans un script shell. À moins, bien entendu, qu’il s’agisse d’un script de démarrage servant justement à lancer plusieurs traitements en parallèle.

Il peut néanmoins être parfois nécessaire de gérer des lancements en arrière-plan, comme cela m’est arrivé une fois.

Lire la suite de cette entrée »

[NOSTALGIE] Le ZX-81

Microprocesseur | Publié par cpb
Avr 05 2012

Voilà, c’est sûr, mon vieux ZX-81 ne fonctionne plus…

ZX-81

ZX-81, imprimante et extension 16ko

J’ai voulu en avoir le cœur net, et j’ai tenté de le remettre en marche pour fêter le trentième anniversaire de son acquisition. En vain, il n’y a aucun signe de fonctionnement – bien que l’alimentation soit toujours correcte. En outre le câble plat qui reliait le clavier à la carte à microprocesseur à mal supporté l’usure du temps et s’est cassé net en plusieurs endroits ce qui me paraît difficilement réparable.

Lire la suite de cette entrée »

[ACTU] Mais pourquoi la Freebox reste-t-elle à l’heure d’hiver ?

Actualité, Embarqué, Linux | Publié par cpb
Mar 27 2012

Freebox a l'heure d'hiverComme beaucoup d’entre vous le savent déjà, la Freebox v.6 a raté son passage à l’heure d’été. Ce matin, alors que mon PC, ma montre et mon téléphone affichent 09:44, la Freebox posée à côté de mon bureau affiche encore 08:44. Au-delà du fait divers amusant, source de plaisanteries et de sarcasmes sur Twitter, je trouve cette mésaventure intéressante, car elle trouve son origine dans des logiciels que connaissent bien les amateurs de Linux embarqué !

Lire la suite de cette entrée »

Envoi d’un signal vers un processus depuis le kernel

Embarqué, Linux, Temps-réel | Publié par cpb
Mar 21 2012

Nous avons examiné récemment le temps de réveil d’une tâche endormie dans un appel-système. Je voulais compléter cette expérience en m’intéressant au passage d’un signal depuis le noyau vers l’espace utilisateur. Nous allons plus particulièrement mesurer le temps d’activation d’un processus lorsqu’un signal temps réel lui est envoyé depuis le noyau.

Lire la suite de cette entrée »

Mesurons le surcoût d’un appel système

Embarqué, Linux, Temps-réel | Publié par cpb
Mar 19 2012

Une application classique a souvent besoin de réaliser des appels système pour accéder à des ressources matérielles ou logicielles contrôlées par le noyau. Que l’on veuille écrire dans un fichier, communiquer sur une socket, accéder à un port d’entrée-sortie, obtenir un supplément de mémoire ou même simplement lire notre numéro de processus (pid), il faudra réaliser un appel système. Mais combien de temps durera-t-il ?

Lire la suite de cette entrée »

Réveil d’une tâche utilisateur depuis un timer kernel

Linux, Microprocesseur, Temps-réel | Publié par cpb
Mar 12 2012

J’ai été plusieurs fois confronté à la nécessité de déterminer le temps de réveil d’une tâche utilisateur. La plupart du temps il s’agit de borner le temps de réaction face à un événement extérieur qui se traduit par une interruption (nous en verrons un exemple dans un prochain article). Récemment toutefois, le problème qui se posait était de réveiller un processus lorsque le contenu d’une adresse mémoire (projetée par une carte d’acquisition) était modifié. Aucune interruption n’érait déclenchée à cette occasion, aussi la seule solution était de venir scruter en polling cette adresse régulièrement dans un timer du noyau. Une fois la modification détectée, il fallait acquiter l’événement ce qui était réalisé dans le kernel, sans présenter de caractère d’urgence. Après l’acquitement il faillait toutefois entamer un traitement dans l’espace utilisateur le plus rapidement possible. J’avais donc besoin de mesurer le temps de réveil d’une tâche depuis un timer du noyau.

Lire la suite de cette entrée »

[LECTURE] Clean Code

Linux | Publié par cpb
Mar 04 2012

Clean Code: A Handbook of Agile CraftsmanshipClean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin

Lire la suite de cette entrée »