Linux Embedded

Le blog des technologies libres et embarquées

Le Temps Reel sous Linux

Dans cet article, nous allons discuter de l’intérêt ainsi que des avantages et inconvénients d’utiliser un noyau Linux temps réel. L’objectif de cet article n’est pas de décrire ce qu’est le temps réel mais pourquoi et comment l’utiliser. Aux lecteurs curieux et intéressés par le temps réel, je recommande le livre de Christophe Blaess, Solutions temps réel sous Linux. Introduction Historique…

My first Linux kernel built with Clang compiler!

Following his internship at Smile in 2018 on LLVM/Clang integration into Buildroot [1], Valentin Korenblit still maintains these packages on his spare time (thanks to him!), up to the latest current version llvm/Clang 8.0.0. At the same time the Linux kernel continues evolving to support Clang compiler thanks to Google engineers. See Phoronix article [2] and « Compiling the Linux kernel…

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)…

i.MX8, which one to choose ?

As we know, the great success of i.MX6 and i.MX7 series of Freescale semiconductors (recently acquired by NXP) has brought a lot of attention from the market for their brand new microprocessor series : i.MX8. In this article,  I would like to share with you the different features of the i.MX8 series, the common points among all these chips, what…

BCC integration into buildroot

Introduction After the rise of eBPF as the newly most powerful Linux tracer (available since Linux 3.15), multiple front end tools have been built on top of it. Amongst all of them, BCC (BPF Compiler Collection) is the most prominent one as it makes eBPF programs much more easier to write. Unlike classical tracers, eBPF is reprogrammable (can be extended) and…

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…

Les traceurs sous linux (1/2)

Introduction L’analyse des performances est essentiel pour tout processus de développement d’une application logicielle. En plus du débogage, il est nécessaire d’utiliser des pratiques d’instrumentation pour garantir les performances attendues d’une application (ou même d’un noyau). L’instrumentation consiste essentiellement à surveiller et à mesurer les performances, à diagnostiquer les erreurs et à écrire des informations de suivi dans les environnements…