Le microcontrôleur STM32 : un cœur ARM Cortex-M3

Magazine
Marque
GNU/Linux Magazine
Numéro
148
Mois de parution
avril 2012


Résumé

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).


1. Introduction

La famille des microprocesseurs STM32 de ST Microelectronics fournit une vaste gamme de périphériques autour d’un cœur d’ARM Cortex-M3 [CortexM3], allant du simple GPIO (port d’entrée-sortie généraliste) et interface de communication série synchrone (SPI) ou asynchrone (RS232) aux interfaces aussi complexes que l’USB, Ethernet ou HDMI. Un point remarquable est qu’un certain nombre de ces processeurs possèdent deux convertisseurs analogiques-numériques, permettant un échantillonnage simultané de deux grandeurs analogiques. Cadencé sur un résonateur interne ou sur un quartz externe haute fréquence 8 MHz (multiplié en interne au maximum à 72 MHz), ce processeur est compatible pour des applications faible consommation (section 9) avec un mode veille dont le réveil s’obtient par une condition sur une horloge interne ou une interruption externe. La multiplicité des horloges et leur utilisation pour cadencer les divers périphériques est...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez chaque semaine un nouvel article premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

European GNU Radio Days 2021

Magazine
Marque
GNU/Linux Magazine
Numéro
252
Mois de parution
octobre 2021
Spécialité(s)
Résumé

Dans une époque lointaine et révolue de conférences en présentiel, nous avions proposé d’organiser une rencontre européenne des utilisateurs et développeurs de l’environnement libre de traitement numérique de signaux radiofréquences GNU Radio. Persévérants que nous sommes, après l’obligation d’annulation en dernière minute l’année dernière dans l’incertitude des déplacements et des rencontres, nous avons retenté cette année d’organiser une conférence, qui s’est rapidement avérée devoir se tenir en virtuel. En voici les leçons tirées, complétées de quelques divagations techniques sur le concours proposé et les tutoriels.

« Je veux ma maquette de satellite » : analyse du format G3DB d’objets 3D en vue de leur impression

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialité(s)
Résumé

Nous explorons le format G3DB exploité dans nombre de jeux programmés en Java sous Android s’appuyant sur la bibliothèque LibGDX. Cette étude sera l’occasion de découvrir le format universel binaire JSON, conçu pour sa compacité tout en conservant une facilité d’analyse bien connue de ce format de données. Nous aboutirons ainsi à un modèle 3D exploitable dans tout logiciel de conception assistée par ordinateur et conclurons par l’impression des divers éléments de la maquette et son assemblage.

« On ne compile jamais sur la cible embarquée » : Buildroot propose GNU Radio sur Raspberry Pi (et autres)

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Spécialité(s)
Résumé

Le développement de systèmes embarqués se doit d’optimiser l’utilisation des ressources de stockage, de calcul et énergétiques. En aucun cas compiler sur la plateforme embarquée cible ne respecte ces contraintes. Nous présentons Buildroot pour cross-compiler un système GNU/Linux efficacement, et le bénéfice en termes de performances qu’on en tirera.

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 !

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous