Les articles de GNU/Linux Magazine N°148

Article mis en avant

Qemu : comment émuler une nouvelle machine ? Cas de l’APF27

Dans la première partie, nous avons abordé deux aspects fondamentaux de Qemu, la recompilation dynamique du code émulé et la gestion du temps. Cependant, nous sommes restés sur le banc des spectateurs. Bien que Qemu 1.0 supporte 27 machines ARM différentes, aucune n’est basée sur les SoC Freescale™ de la famille i.MX. Dans ce second volet, nous passerons à la pratique en créant « from scratch » le support de l’émulation d’une nouvelle machine construite autour d’un i.MX27 : la carte Armadeus APF27.
Internet, le Web et les technologies nous permettent de constater chaque jour que l'interprétation d'une information a souvent plus d'importance que l'information elle-même ou encore sa nature.
Nous avions laissé Redis, la base de données clé-valeur persistante, à sa version 2.0.1 à l'occasion d'un article dans GLMF n°133. Deux versions majeures sont depuis passées par là et il était temps de se pencher sur les nouvelles fonctionnalités dorénavant offertes par Redis à ses utilisateurs.En attendant la version en cluster de Redis [1], actuellement en développement, je présenterai dans cet article les principaux apports des deux dernières versions de Redis.
Désormais une véritable institution du calendrier des événements du Logiciel Libre en Europe, les rencontres des développeurs européens de logiciels libres et open source (FOSDEM en anglais) ont eu lieu les 4 et 5 février dernier à Bruxelles. Des développeurs de toute l'Europe s'y étaient donnés rendez-vous pour une série de conférences et de rencontres communautaires.L'Université Libre de Bruxelles continue à accueillir le FOSDEM et s'est vue une fois de plus envahir par des milliers de développeurs impatients de participer à l'événement.
Nous avons déjà beaucoup parlé ici et dans Open Silicium de la technologie Bluetooth et de l'utilisation de RFCOMM. Je vous rassure, vous n'aurez pas droit à une nouvelle édition des techniques de base. Ce que nous allons voir brièvement ici et de manière résolument pratique, c'est la façon de, sans la moindre programmation de microcontrôleur, assembler quelques modules pour obtenir des sondes capables d'être interrogées à distance afin de produire de jolis graphiques.
Au sein de la gamme des cœurs de processeurs proposés par ARM, le Cortex-M3, opérant sur des registres de 32 bits, fournit un compromis entre une puissance de calcul appréciable et une consommation réduite qui, sans atteindre les performances du MSP430 (16 bits), propose néanmoins des modes de veille en vue de réduire la consommation moyenne d’une application. Bien que les nombreux périphériques disponibles ainsi que l’énorme quantité de mémoire associée à ce processeur puissent justifier l’utilisation de bibliothèques dont une implémentation libre est disponible sous le nom de libopencm3, nous verrons qu’il est possible d’appréhender un certain nombre de ces périphériques pour en faire un usage optimal en accédant directement aux registres qui en contrôlent l’accès. Le cœur M3 est décliné par de nombreux fondeurs : nous nous focaliserons ici sur l’implémentation de ST Microelectronics sous le nom de STM32F1 (dans la suite, le microcontrôleur sera nommé simplement STM32 car la plupart des applications sont portables sur les autres modèles).
Dans cet article, nous allons aborder FAI [FAI], pour Fully Automatic Installation, un projet permettant d'installer de manière non interactive un système d'exploitation, et bien plus encore. Vous allez pouvoir rendre opérationnelle une machine vierge en un rien de temps, suivant le partitionnement et la configuration planifiés via FAI.
Aucun nouveau langage n'a les caractéristiques pour remplacer le vénérable C, voire le C++ : performance complexe à obtenir, machine virtuelle encombrante, complexité d'usage, absence d'accès bas niveau au matériel. Pour y arriver, les défis à relever sont nombreux : rapidité, productivité, capacité à trouver ses erreurs, facilité de prise en main et surtout, convaincre de nouveaux utilisateurs.