Les articles de Open Silicium N°11

Image promotionnelle
Linux sur ARM Cortex-M4
Article mis en avant

Linux sur ARM Cortex-M4

Calmons d'emblée votre excitation, derrière ce titre délibérément racoleur prend place un sujet plus pondéré mais tout aussi excitant. Il est question d'µClinux et d'un microcontrôleur STM32F429, l'ensemble réuni sur le tout nouveau devkit de STM, le 32F429IDISCOVERY, monstrueusement équipé mais à un prix défiant toute concurrence. Exactement ce qu'on aime pour faire sereinement connaissance avec une nouvelle plateforme.

Moi je vous l'dis, tout fout le camp ma pauv'dame ! Plus ça avance et plus le paysage de l'embarqué et de l'électronique numérique se peuple de cartes, de devkits, de nano-pc et de modules en tous genres, tous plus puissants et complets les uns que les autres.
Dans le précédent numéro nous avons, en quelques pages, fait connaissance avec le système Buildroot. Je vous conseillais alors de ne pas “penser avoir raison” et/ou faire selon ce qui vous semblait optimal avant d'avoir effectivement fait le tour de tout ce que proposait Buildroot. Et bien, ceci est également valable pour moi-même étant donné que, sur certains points, je pensais, moi-aussi bien faire alors que le système avait quelque chose de bien plus élégant à sa disposition pour m'aider.
Lorsqu'on travail sur des sources communautaires issues d'un projet open source les mots Git et GitHub reviennent souvent. Ce système de gestion de version et cette plateforme collaborative sont largement utilisés qu'il s'agisse de projets massifs ou de simples implémentations pour une carte ou une plateforme spécifique. De petit et grands acteurs de l'industrie informatique partagent ainsi du code et bénéficient en retour de l'expertise de développeurs et hackers de talent. Pour en bénéficier, nous aussi, encore faut-il savoir se servir de l'outil. Chose que nous allons voir immédiatement...
Qu'il s'agisse de morceaux de mémoire, de zones de flash ou encore de secteurs de supports de stockage, travailler avec des données binaires inconnues n'est généralement pas chose évidente en ne connaissant pas quelques outils de base. Attention, par “binaires” j'entend “non-texte” mais pas nécessairement “binaires exécutables”. Nous parlerons ici de données brutes, même s'il s'agit de code interprété par un processeur ou un microcontrôleur, non de désassemblage et autres techniques d'analyse.
Est-ce que tous les convertisseurs se valent ? On trouve de nombreux modèles à différents prix, mais pourquoi une telle variété ? Et surtout, quel modèle convient pour votre projet ? Le seul moyen de le savoir est de les tester.
Nous avons vu précédemment que l'installation d'uClinux sur un devkit STM32F429IDISCOVERY disposant de suffisamment de flash interne et d'une SDRAM de 64 Mbits ouvrait des perspectives très intéressantes en termes de développement. Le travail de quelques développeurs et de la société EmCraft permet ainsi de prendre en charge un certain nombre de périphériques. Il est maintenant temps de nous pencher sur l'intégration d'autres fonctionnalités...
La carte STM32F429IDISCOVERY dispose, comme nous l'avons vu, d'un écran LCD. Celui-ci est équipé d'un film tactile résistif connecté à un contrôleur STMPE811 interfacé en i2c. Voici l'occasion d'étudier comment uClinux gère ce type de bus de plus près, non sans un petit détour par les spécificités se rapportant aux GPIO.
Nous proposons d’explorer la nature des particules cosmiques en proposant une combinaison astucieuse de mesures effectuées en points spatialement distincts par plusieurs compteurs Geiger. L’analyse des signaux acquis par ces détecteurs - et en particulier la mesure quasi-simultanée du passage de particules ionisantes par plusieurs détecteurs - permet de compléter l’information de débit de dose par une information de direction d’incidence de la particule. Nous reproduisons ainsi un certain nombre d’expériences, selon une stratégie dite de coïncidence, qui ont permis, il y a plus de 70 ans, d’élucider la nature des particules cosmiques.
Faites-vous confiance à votre smartphone ? Moi, je lui faisais confiance et puis je me suis rendu compte que ce que je transportais en permanence avec moi n'était pas un simple périphérique de communication mais un ensemble informatisé complet, capable de me surveiller et sur lequel je n'avais finalement aucun contrôle tant il communiquait à mon insu. Comment faire pour ré-acquérir le contrôle que j'avais perdu ? Installer exactement le rapport de confiance que j'ai vis-à-vis de mes stations de travail et donc un système entièrement en logiciel libre ?
GNU/Linux, l'éternel oublié des OS lorsqu'il s'agit de support de la part des constructeurs. A la limite, on les comprendrait s'il y avait une myriade de distributions toutes plus populaires les unes que les autres. Mais ce n'est pas le cas. Le fait est que Ubuntu/Mint (et donc Debian) est en pôle position, tous domaines d'utilisation confondus et les autres sont derrière qu'on le veuille ou non. Avant cependant que l'industrie de s'en rende compte, on ne pourra que compter sur nous-même et c'est, bien entendu, le cas pour le nouveau LaunchPad MSP430F5529