Guide du débutant pour les écrans embarqués Riverdi STM32

Qu’est-ce que le STM32 ?

STM32 est le MCU 32 bits choisi par nos ingénieurs pour piloter la série Riverdi Embedded Display. Dans cette brève introduction, nous expliquerons en quoi ce produit de STMicroelectronics est une technologie de pointe. Nous fournissons également des conseils sur la façon de commencer à apprendre à programmer le STM32.

Le STM32 est une famille de microcontrôleurs 32 bits basés sur le cœur ARM Cortex-M, développés et fabriqués par STMicroelectronics. Pour que tout soit clair, commençons par les bases et présentons l’architecture du microcontrôleur.

Les principes fondamentaux des blocs de construction des MCU

Lorsqu’un ingénieur conçoit un dispositif IHM moderne doté d’un système d’information visuelle, tel qu’un écran tactile, il commence par choisir un microcontrôleur. Il faudrait commencer par sélectionner l’architecture de base. Il existe de grandes unités de traitement ARM polyvalentes dotées d’architectures de jeux d’instructions (RISC – Reduced Instruction Set Computer), appelées cœurs de microprocesseurs. Les cœurs ARM sont largement répandus dans un grand nombre d’appareils d’usage courant, tels que les smartphones. L’une des deux principales séries de cœurs ARM, appelée Cortex-A, est utilisée dans les appareils grand public, tels que les ordinateurs monocartes (SBC) Raspberry Pi ou les smartphones.

ARM Cortex-M

La deuxième partie de la famille de cœurs ARM, connue sous le nom de Cortex-M, est destinée aux applications industrielles. Il s’agit de la série de cœurs ARM qui intéressera le concepteur susmentionné. C’est la raison pour laquelle STMicroelectronics a choisi ce bloc de construction pour créer les MCU STM32. La série basée sur le Cortex-M comporte plusieurs types de cœurs avec des performances et des caractéristiques différentes. Par exemple, il existe un M0 (le cœur le moins performant), un M3 (cœur de performance moyenne), un M4 (cœur efficace avec un support FPU ou DSP supplémentaire) et le cœur M7, le plus récent et le plus puissant.

Pourquoi un noyau n’est-il pas le MCU ?

Ce qui est important, c’est que les unités ARM sont vendues en tant que licences de cœur de propriété intellectuelle, et non en tant que MCU, qui deviennent des MCU plus tard dans le processus. Le noyau ne fera pas son travail tout seul. Il a besoin d’un certain soutien, c’est-à-dire d’une mémoire externe et d’interfaces externes. STMicroelectronics est l’entreprise spécialisée dans la fabrication de MCU en assemblant des composants pour former le microcontrôleur final.

Pourquoi STMicroelectronics ?

Qu’est-ce qui distingue STMicroelectronics sur le marché des MCU ? Il y a plusieurs raisons à cela, mais les principales sont les suivantes :

  1. Traitement des signaux numériques en temps réel à haute performance
  2. Fonctionnement à faible consommation d’énergie
  3. Connectivité polyvalente
  4. Facilité de développement et d’intégration
  5. Outils de programmation utiles et bibliothèques gratuites

Ces caractéristiques font que les microcontrôleurs STM32 sont largement reconnus et utilisés dans diverses applications. Ce sont quelques-unes des raisons pour lesquelles les ingénieurs de Riverdi ont décidé d’utiliser le STM32 comme noyau de nos écrans embarqués STM32.

Le vaste portefeuille de STMicroelectronics

Grâce à la large gamme de MCU, il est très facile de trouver le bon modèle pour vos applications. Selon la version, ils ont une faible consommation d’énergie avec des ressources assez limitées, ou des modèles avec une vitesse de calcul très élevée et de nombreux périphériques.

STMicroelectronics propose de nombreux groupes de produits basés sur des solutions, des ressources gratuites et des prototypes. Soutenir le processus de prototypage est une philosophie partagée par Riverdi. Nous pensons qu’un prototypage rapide et facile est essentiel dans le processus de conception, c’est pourquoi nous vous encourageons à essayer nos échantillons. Les détails de la conception, comme la compatibilité des broches, sont également utiles dans le processus d’ingénierie, car ils permettent de remplacer les MCU pour trouver celle qui convient le mieux.

Comment sont regroupés les MCU STM32 ?

La gamme de MCU de ST comprend plusieurs séries regroupées en fonction de leurs caractéristiques.

Unités haute performance – STM32 puissants conçus pour transférer d’énormes quantités de données avec des fréquences d’horloge élevées. Il s’agit notamment du F4 avec un cœur M4 et un FPU, parfois complété par des contrôleurs d’affichage ou une prise en charge MIPI, du F7 avec le tout dernier cœur M7 et du fleuron H7 avec un double cœur (M7+M4). Cette unité puissante(STM32H757XIH6) est utilisée par Riverdi.

Unités principales – microcontrôleurs à usage général. Ils vont des MCU de base de la série F0, aux F1 à haute performance mais à architecture simple, jusqu’aux G4 qui offrent une large gamme de périphériques analogiques.

Unités à très faible consommation d’énergie – conçues pour une consommation d’énergie la plus faible possible. Il s’agit notamment du L0 à 14 broches, du L4 avec FPU supplémentaire, du L5 avec accélération graphique améliorée.

Unités sans fil – elles intègrent la prise en charge des communications sans fil, telles que Bluetooth ou RF 2,4 GHz.

Jetez un coup d’œil à la série mentionnée ci-dessus (image fournie par STMicroelectronics):

Pour en savoir plus sur les différentes caractéristiques des MCU STM32, visitez le site web de STMicroelectronics (image fournie par STMicroelectronics).

Comment pour commencer à programmer le STM32 Afficheurs embarqués par Riverdi ?

Voici les bases de ce qu’un nouveau venu dans l’écosystème STM32 doit savoir sur la conception des écrans embarqués STM32.

Quel matériel pour le STM32 ?

Il n’est pas recommandé de commencer avec des fabricants de matériel inconnus, en particulier si vous êtes novice en matière de programmation embarquée. Privilégiez plutôt les entreprises bien établies.

La série Riverdi STM32 est idéale pour débuter et apprendre, car nous offrons une documentation complète et il existe des démos, des presets et des bibliothèques gratuits pour vous permettre de mettre la main sur des exemples de code fonctionnels.

Vous pouvez également essayer les cartes officielles de ST (comme les séries Nucleo ou Discovery).

Quelle documentation pour STM32 ?

La documentation est dans la plupart des cas une littérature technique préparée par le fabricant pour vous guider dans la complexité des microcontrôleurs. Ces documents peuvent vous aider à connaître toutes les caractéristiques des MCU :

Guide de démarrage, qui est une référence pour les nouveaux arrivants,

qui est une description technique complète de toutes les caractéristiques des MCU,

Manuel (ou guide) de l’utilisateur, qui fournit des instructions et des paramètres détaillés permettant de résoudre les problèmes les plus courants,

Note d’application, qui donne des détails plus précis sur l’utilisation d’un composant dans une application spécifique.

qui donne une vue plus détaillée de l’architecture des MCU,

Manuel de programmation, qui fournit les informations nécessaires au développement de logiciels au niveau de l’application et du système.

Il est conseillé, avant d’utiliser un MCU spécifique dans votre projet, de jeter au moins un bref coup d’œil à la fiche technique. Vous devez vérifier les périphériques, les GPIO et d’autres paramètres de base, comme l’horloge. L’objectif est de s’assurer que le matériel fourni répond aux exigences de votre projet.

Quel langage de programmation pour le STM32 ?

Le langage de programmation recommandé pour le STM32 est le C. Pour écrire du code directement pour les microcontrôleurs, le C est le meilleur choix. C’est également la base sur laquelle vous pouvez développer votre expertise des MCU en utilisant d’autres langages de programmation.

Quel cadre pour STM32 ?

Pour faciliter votre travail lors de la programmation des STM32, vous aurez besoin d’un cadre approprié. Le framework est une plateforme sur laquelle vous écrivez du code et développez votre projet. Les cadres logiciels peuvent inclure des programmes d’assistance, des compilateurs, des bibliothèques de code, des ensembles d’outils et des interfaces de programmation d’applications (API). Quels sont les cadres disponibles ?

Il y a celui qui est recommandé, qui est l’écosystème de STMicroelectronics . Il se compose de deux niveaux complémentaires : les bibliothèques de la couche basse (LL) et la couche d’abstraction matérielle (HAL). Les bibliothèques de bas niveau sont bien adaptées à l’optimisation du matériel et à l’exploitation de ressources limitées, mais elles nécessitent un certain savoir-faire (acquis grâce à la documentation). HAL, qui est une bibliothèque de haut niveau, pourrait mieux convenir aux nouveaux venus. Les deux peuvent être gérés par le logiciel gratuit STM32CubeIDE.

Il y a Mbed by ARM, le projet collaboratif en ligne pour les appareils connectés à l’internet basés sur ARM Cortex-M. Il utilise les langages de programmation C et C++, ce qui est une bonne nouvelle pour ceux qui les maîtrisent. Une solution idéale pour les appareils IoT. mBed OS ressemble beaucoup à Arduino. En ce qui concerne Arduino, il existe plusieurs cartes prenant directement en charge le STM32. L’un d’entre eux est le projet STM32Duino basé sur les cartes Nucleo… Ces deux frameworks sont axés sur la simplicité, mais l’inconvénient est que les fonctionnalités du STM32 sont limitées en termes de contrôle du matériel, et que la qualité des bibliothèques n’est pas toujours garantie.

Enfin, le langage C pur garantit des résultats optimisés en termes de performances. Pure C utilisera moins de mémoire et sera toujours très rapide. Mais ces avantages ne sont accessibles qu’avec des connaissances et de l’expérience, c’est pourquoi il n’est pas recommandé aux débutants.

Quels outils de programmation pour le STM32 ?

Si vous choisissez l’approche recommandée de l’écosystème ST, vous pouvez commencer à utiliser gratuitement un certain nombre d’outils logiciels fournis par STMicroelectronics. Il existe des outils de développement, des outils d’évaluation, un environnement de développement, des logiciels intégrés, etc. Voici quelques-uns des principaux outils que vous devez connaître :

STM32CubeMX – un outil graphique pour la configuration du MCU et la génération du code d’initialisation ;

STM32CubeIDE – outil tout-en-un pour le développement avancé en C/C++ dans l’écosystème STM32 : sélecteur de microcontrôleurs, configurateur de périphériques, générateur de code, compilateur, débogueur et programmeur ;

STM32CubeProgrammer – outil tout-en-un pour la programmation des produits STM32 ;

TouchGFX Designer – logiciel graphique avancé pour la création d’interfaces graphiques dans une méthode WYSIWYG ;

STM32CubeMonitor – outil de surveillance de l’exécution pour affiner et diagnostiquer les applications STM32 sur la base de la visualisation en temps réel des variables.

Un bref aperçu de TouchGFX Designer

TouchGFX Designer est un concepteur d’interface graphique optimisé pour les produits Riverdi fonctionnant sur des microcontrôleurs STM32. Les projets de démonstration et les préréglages de Riverdi sont intégrés dans la bibliothèque TouchGFX. L’outil TouchGFX est une solution logicielle avancée pour créer une superbe interface graphique en utilisant la méthode WYSIWYG, qui rend la conception de l’interface graphique conviviale. Le partenariat de Riverdi avec STMicroelectronics peut réduire le temps et le coût du prototypage et améliorer l’efficacité de la mise sur le marché du projet.

Où en savoir plus sur les écrans embarqués STM32 ?

Lors du choix de la méthode d’apprentissage, il convient de toujours prendre en considération les objectifs poursuivis. S’agit-il de compétences en matière de prototypage, de programmation, de conception d’interfaces graphiques ? S’agit-il d’une connaissance générale de la manière d’appliquer les écrans embarqués STM32 dans le dispositif final ? S’agit-il d’une curiosité d’amateur ? Envisager des objectifs vous aidera à les atteindre rapidement. D’autres questions portent sur les ressources disponibles (comme le temps alloué, l’argent), les modes d’apprentissage et les préférences individuelles. Heureusement, il existe une variété croissante de sources permettant d’acquérir des connaissances sur le STM32.

Vidéos

Les tutoriels vidéo constituent un excellent moyen d’apprendre à connaître le STM32 et vous pouvez trouver la plupart d’entre eux sur YouTube.

Tout d’abord, inscrivez-vous à la lettre d’information de l’Université Riverdi et abonnez-vous à la chaîne YouTube de Riverdi. Nous partageons nos connaissances et notre savoir-faire pour vous aider à tirer le meilleur parti de vos écrans embarqués Riverdi pilotés par STM32. Nous fournissons des guides de démarrage, des tutoriels spécifiques, des vidéos de déballage, et bien plus encore.

Deuxièmement, suivez la chaîne officielle de STMicroelectronics. ST organise des webinaires en direct et des MOOC (Massive Open Online Courses) complets, qui constituent un atout inestimable pour l’apprentissage de la programmation des MCU.

Blogs

Les blogs sont très utiles pour résoudre des problèmes spécifiques. La plupart d’entre eux sont gratuits, mais comme les connaissances y sont publiées telles quelles, au jour le jour, ce qu’il faut faire, c’est chercher une solution exacte. Vous pouvez également vous tenir au courant et suivre les nouveaux messages en vous inscrivant à une lettre d’information.

Riverdi propose des articles de blog constamment mis à jour, des guides de démarrage et un partage des connaissances par le biais d’une série d’articles et de vidéos de l’Université Riverdi.

Vous pouvez également essayer : Le blog de Controllerstech : https://controllerstech.com/

Cours

Les cours, qu’ils soient en ligne ou hors ligne (ces derniers étant plutôt rares de nos jours), offrent un processus d’apprentissage complet à différents niveaux de compétence. Cependant, il faut savoir qu’il s’agit d’un engagement à long terme et que, dans la plupart des cas, vous devrez payer pour pouvoir participer. Une autre approche intéressante consiste à suivre un cours gratuit en ligne sur la programmation en C, qui sera toujours utile dans le cadre du développement du STM32.

Wikis et guides

Pour une connaissance approfondie, il faut toujours se référer aux fabricants, tels que Riverdi ou STMicroelectronics. Riverdi propose une documentation complète pour chaque écran, qui vous aidera à naviguer dans nos écrans embarqués STM32. Nous partageons également notre savoir-faire par le biais de l’Université Riverdi et de la série Display 101. Vous pouvez également vous plonger dans les guides et tutoriels publiés par STMicroelectronics, comme leur vaste Wiki consacré aux MCU STM32.

Si vous avez des questions concernant la série STM32 Embedded Display, n’hésitez pas à nous contacter.