Open Silicium N°
Numéro
11

Linux sur ARM CORTEX-M4 STM32F429

Temporalité
Juin/Juillet/Août 2014
Image v3
Linux sur ARM CORTEX-M4 STM32F429
Article mis en avant

Résumé

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.

Dans ce numéro...


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

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Body