Linux Embedded

Le blog des technologies libres et embarquées

Catégorie : HowTo

Playback vidéo avec Qt+Gstreamer sur i.MX8

Problématique Dans cet article, nous allons écrire une application de playback vidéo en Qt pour la carte Nitrogen 8M de Boundary device. Voici mon environnement :  Nitrogen 8M de Boundary devices Yocto Thud avec le BSP fournis par Boundary devices Pour lire un fichier vidéo, nous pouvons généralement utiliser gplay-1.0, sous weston (un compositeur Wayland) ou sans compositeur. Gplay-1.0 (FSL_GPLAY)…

Analyse statique de code avec Frama-C

Introduction Frama-C est un framework open source d’analyse statique de code C. Contrairement à ce que l’on pourrait penser, il n’a pas pour objectif de mesurer des données telles que le nombre de commentaires par lignes de code. Il ressemble plus à un outil de bug-finding, mais avec deux avantages majeurs. Premièrement le fait qu’il tend à être correct, c’est…

Les secrets du traceur eBPF

Introduction Le traçage permet d’instrumenter un noyau pour capturer les événements bas niveau (allocation mémoire, changement de contexte, réception d’un paquet réseau, …,etc). Le traçage a fait l’objet des deux articles précédents, nous avons présenté des outils tels que Ftrace, Perf et Lttng. Dans cet article, nous allons décrire eBPF, le traceur le plus performant sous Linux. Quelques généralités sur…

Les traceurs sous linux (2/2)

Introduction Les applications et les systèmes d’exploitation sont devenus très complexes, de nombreux outils de traçage sont apparus au cours de la dernière décennie. Leur but est d’instrumenter et optimiser la qualité des programmes en termes de performances et de robustesse. Après l’article précédent sur Ftrace, nous allons apprendre a utiliser les traceurs Perf et LTTng. Perf Perf est un…

Compiler un AOSP sans changer de distribution

Compiler un AOSP sans changer de distribution Pourquoi se donner tant de mal ? Pour compiler Android, Google suggère aux utilisateurs d’installer Ubuntu 14.04 et ne supporte pas d’autres distributions Linux. Il est toujours possible d’utiliser une autre distribution, mais sans garantie de réussite. Il est, par exemple, possible de compiler Android 7 avec Debian Stretch, mais pas Android 6…

Exploitation de la base de donnée Open Street Map pour la conception de cartes dynamiques « offline »

Introduction Etat des lieux de l’exploitation des cartes géographiques dynamiques sur interfaces graphiques Le couplage entre la puissance de calcul des systèmes embarquées et leurs systèmes de géolocalisation donne aujourd’hui naissance à de nombreux services basés sur l’utilisation de données géographiques. Ces données sont le plus souvent exploitées sous forme de cartes interactives. La plus connue des applications utilisant ce…

La localisation indoor : état de l’art technologique (1/2)

  Quelques mots clés dans la barre de recherche et les résultats parlent d’eux-mêmes, la localisation indoor (littéralement « en intérieur ») connaît un succès sans précédent. Là où les signaux GPS peinent à se propager, de nouvelles technologies viennent prendre le relais. Atteignant parfois des précisions centimétriques en environnement complexe, ces systèmes de positionnement révèlent un potentiel d’utilisation certain. Revenons dans…

Implémentation d’un driver GPIO dans XVisor

Introduction Nous avons découvert l’hyperviseur Xvisor dans un article précédent sur le blog : Xvisor – première mise en oeuvre. Nous y avons vu comment mettre en œuvre Xvisor sur une Raspberry Pi, et dans une machine virtuelle. Pour comprendre cet article, le lecteur doit avoir déjà manipulé Xvisor ou au moins l’article précédent mentionné ci-dessus. Xvisor est disponible sur…

Introduction à Ansible: Gestion des layers Yocto

Introduction Ansible est un logiciel destiné à la configuration et la gestion de parc informatique. Il est disponible sur la plupart des distributions Linux. Il permet de déployer des logiciels, de gérer des configurations et de lancer des tâches sur une ou plusieurs cibles. Ansible est codé en python et fonctionne avec des fichiers de configuration au format YAML qui décrivent…