Linux Embedded

Le blog des technologies libres et embarquées

Introduction au SIGFOX

1. Introduction Générale SIGFOX est une technologie propriétaire créée par la société française éponyme fondée en 2009. Le réseau SIGFOX fait partie des réseaux LPWAN (Low Power Wide Area Network) au même titre que le LORAWAN basé sur la modulation LoRa. Le réseau utilise les bandes de fréquences libres ISM (Industrial, Scientific and Medical frequency band). Par exemple, en Europe,…

Contiki-NG et AWS IoT

Le réseau de capteurs sans fil (RCSF) appelé aussi WSN (Wireless Sensor Network) est un domaine de recherche en expansion qui a su trouver son chemin vers l’industrie. Le succès de ces petites cartes embarquées revient principalement à leurs systèmes d’exploitation conçus spécifiquement pour des environnements à ressources très limitées (dont Contiki est le plus connu).Une liste exhaustive des OS destinés au…

Overcommit memory in Linux

On Linux systems (including real time ones with PREEMPT-RT), C programs allocates memory using the system libc, usually using malloc(). On modern systems, the dynamic memory allocation uses the principle of overcommit. This is based on MMU and the interruption generated when accessing non-mapped memory (or mapped memory with wrong flags, like write on read-only page). When this principle is applied (not…

Storing crash data of the Linux kernel for post-crash debugging

Logging problems are key features of any complex system in order to detect and locate any unexpected behavior. On Linux system, there are lots of solutions to generate debugging information for an unexpected behavior of a userspace application (log messages, core dump). But what could we do if there is a kernel problem ? Few solutions exist although none are trivial.…

Gestion de versions des bibliothèques partagées

Tout code est susceptible au changement, avec pour objectif d’ajouter des fonctionnalités, de résoudre des BUGS ou même d’aller jusqu’a modifier les interfaces (altérer les prototypes des fonctions). Généralement plus un code est utilisé par la communauté, plus il est déconseillé de modifier les interfaces lors d’une évolution. Cependant, la rétrocompatibilité reste floue pour certains développeurs surtout lors de la…

FlameGraph

Introduction Les outils de profilage permettent lors de l’exécution d’un logiciel de contrôler la liste des fonctions appelées, le temps passé dans chacune d’elle, l’utilisation des ressources processeur ou l’utilisation mémoire par exemple. Sous Linux une multitude d’outils sont disponibles et si vous avez déjà utilisé Perf ou eBPF vous avez sans nul doute remarqué que la quantité de log…

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…