Linux Embedded

Le blog des technologies libres et embarquées

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…

Survol des outils de debug

Introduction Dans le développement de logiciels, le débogage consiste à localiser et à corriger les erreurs de code dans un programme informatique. Le débogage fait partie du processus de test logiciel et fait partie intégrante du cycle de vie du développement. Le débogage est souvent difficile pour les programmeurs, Norman Matloff et Peter Jay Salzman disent: Déboguer, c’est chercher une…

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…

Crosstool-ng : human crossing

La plupart des développeurs ont l’habitude d’utiliser les chaînes de compilation fournies par leur distribution. Elles sont généralement faciles à installer et  fiables car fréquemment utilisées. Elles sont en revanche peu configurables. Créer sa propre chaîne de compilation permet de l’adapter à une cible et à des besoins spécifiques. Il pourra être possible de choisir la libc, la version de…

OpenOCD from scratch

Introduction Le débogage est une procédure importante dans les processus d’amélioration de la programmation ou de l’équipement, qu’il s’agisse d’un objet commercial, d’une entreprise ou d’une application personnelle. La plupart des projets contiennent un grand nombre de lignes de code, susceptibles de contenir des bogues. Les outils d’investigation ou les débogueurs distinguent les erreurs de codage à différentes étapes. Cet…

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…

LLVM/Clang integration into Buildroot

English version below… Dans le cadre de mon projet de fin d’études, j’ai travaillé sur l’intégration de LLVM et Clang dans Buildroot. Je vous en présente un résumé dans cet article. Pour sa lecture, la connaissance des principaux aspects de Buildroot, tels que la cross-compilation et la création de paquets est requise. L’idée de rédiger cet article en anglais est de…

La géolocalisation par ondes radiofréquences (2/2)

  La grande majorité des systèmes de positionnement en intérieur utilisent des ondes radio comme vecteur de communication. La transmission s’effectue entre un tag mobile et un réseau d’antennes fixes (aussi nommées « ancres »). Les algorithmes de positionnement sous-jacent se répartissent en différentes catégories selon la nature de l’information utile. Chacun d’eux s’adapte autant à la technologie support qu’à la disposition…