SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Comprendre l’architecture de
STM32
Cours 2
1 / 29
Dr Besma OTHMANI KRIFA
2 / 29
Cours 2
Introduction aux microcontrôleurs
1- Les familles STM32 : les différences entre les séries des
microcontrôleurs STM32
2- Les caractéristiques de STM32: Power ON/OFF, mode faible
consommation…
3- Présenter les libraires du microcontrôleur STM32F4
8 / 29
Qu’est-ce qu’un microcontrôleur?
Microcontrôleur (µC, uC, MCU)
Circuit intégré rassemblant les éléments essentiels d’un ordinateur
• unité de calcul et de contrôle (le coeur)
• mémoire vive
• périphériques
(ex : port série, timers, DMA, flash. . .)
• entrées/sorties
(ex : convertisseurs analogique ↔ numérique (ADC/DAC))
9 / 29
Exemples d’utilisation
Electroménager & Internet of Things
• montres connectées, bracelets santé
• capteurs domotiques, four, machine à laver, thermostat.. .
• smartphones, tablettes
Automobile, Aeronautique
• une voiture moderne intègre ≈30 MCUs
• logiciel critique dans l’avionique (cf. reste du master)
Un foyer moyen possède 4 CPUs et 30 MCUs.
Quelques MCUs fameux dans leur habitat naturel
• Microchip PIC16 (1990, 8 bits, 1MHz, quelques registres)
• Microchip PIC12 (1990, très utilisé en DIY)
• Atmel AVR (2000, 8/16 bits, base des Arduino)
10 / 29
Quelques MCUs fameux dans leur habitat naturel
• ARM (2000) : Coeurs communs, différents constructeurs (ST,
Texas Instruments, Microchip.. .)
• SoC Freescale, Broadcom, TI etc. (2010, Raspberry Pi)
1GHz, 64 bits, RAM 512 Mo
10 / 29
11 / 29
Le MCU, un compromis
L’intérêt
• forte intégration (une puce intègre toutes les fonctions)
• faible consommation électrique (1–500mW)
• faible coût (0.10–10€)
• généricité (par rapport au silicium dédié)
Les limitations
• peu de capacité de calcul (1–200 MHz)
• très faible stockage (1–512 Ko RAM, 1K–1M flash)
12 / 29
Un MCU n’est pas :
• un CPU (Central Processing Unit)
(ex : Intel i7, Apple A11, . . .)
▶ puissance de calcul supérieure (GHz)
▶ pas de mémoire embarquée (quelques registres)
▶ pas de périphériques embarqués (bus externes)
• un FPGA (Field-Programmable Gate Array)
(ex : Xilinx, Altera.. .)
▶ circuit intégré reconfigurable
▶ grand nombre de portes logiques généralistes
▶ “programmation” en Verilog/VHDL
13 / 29
Protocoles de communication embarqués
Toute communication entre le coeur et ses périphériques s’établit
selon un protocole (une langue commune)
Interne
bus de données : unité de calcul ↔ RAM ↔ DMA,
Externe
communication avec puces externes; communication inter-MCU
(ex : réseau de capteurs)
Architectures
symétrique, en réseaux, client-serveur.. .
en général : couches de nombreux protocoles
Exemple
UART, SPI, I2C, CAN, USB. . .
14 / 29
La famille des ARM Cortex
ARM architecture qui spécifie (notamment) un jeu
d’instructions RISC, l’organisation de la mémoire,
modèle d’exécution. . .
Différentes versions du standard : ARMvX-M
Cortex Famille de coeurs physiques
vendus aux fabricants de silicone
Cortex-A pour Application (ex : smartphones)
Cortex-R pour Real-time
(temps d’exécution déterministe)
Cortex-M pour eMbedded (faible consommation)
M0 ARMv6-M, petit et pas
cher
M3 ARMv7-M, *,/ hardware,
plus d’instructions
M4 ARMv7E-M, FPU, DSP
Licences Cortex-M4
Atmel, STMicroelectronics, NXP, Texas Instruments
15 / 29
La famille des MCU STMicroelectronics STM32
STM32L0 Cortex M0+, 32MHz, 8Ko SRAM, 32-64Ko flash
STM32F1 Cortex M1, 24-72MHz, 4-96Ko SRAM, 16-1024Ko
STM32F3 Cortex M4 + FPU, 72MHz, 16-40Ko SRAM, 64-256Ko
. . .STM32F7 ARM Cortex-M7F, 216MHz, 512-1024Ko RAM, . . .
Chaque famille contient divers périphériques (E/S, calcul, . . .) :
• 2xADC multiplexé, 2xDAC 12/16 bits
• USART, SDIO, I2C, SPI, USB, . . .
• EEPROM, flash, ROM.. .
• DMA, timers, watchdogs, RTC, RNG. . .
Applications
• DSP audio (ADC/DAC)
• contrôle de moteur, prototypage généraliste
(ex : Arduino, cartes Nucleo/Discovery)
16 / 29
La série des STM32F3
STM32F3 plusieurs sous-familles :
STM32F301, STM32F302, STM32F303 généralistes,
différents périphériques analogiques
(contrôle de moteur)
STM32F334 timer haute résolution (217
picosecondes)
STM32F373 16-bit sigma-delta ADC et ampli-ops
intégrés
STM32F3x8 marche à 1.8V au lieu de 3.3V
La série des STM32F3
STM32F3 plusieurs sous-familles :
STM32F301, STM32F302, STM32F303 généralistes,
différents périphériques analogiques
(contrôle de moteur)
STM32F334 timer haute résolution (217
picosecondes)
STM32F373 16-bit sigma-delta ADC et ampli-ops
intégrés
STM32F3x8 marche à 1.8V au lieu de 3.3V
. ..chacuns dans différents choix de RAM, flash et packages :
LQFP32 , LQFP100 , UFBGA100 . . .
16 / 29
Les cartes d’essai
Si vous voulez étudier les MCUs ou faire du prototypage rapide,
pas besoin de concevoir une carte à chaque fois, il existe de
nombreuses cartes d’essai.
• produits d’appel pour les fabricants, donc très bon marché
(≈20€)
• divers périphériques embarqués : capteurs, écrans, réseau,
audio.. .
• programmation facile (interface USB)
17 / 29
La carte STM32F3-discovery
• STM32F303 : 72MHz,
48Ko RAM, 256Ko flash
• documentation et schéma
• programmeur USB intégré
ST-Link
• (presque) toutes les pattes
du MCU accessibles sur
header
• périphériques externes :
▶ port USB utilisateur
▶ alimentation par USB ou
externe (pile)
▶ accéléromètre/boussole
3D
▶ gyroscope
▶ 10 LEDs
▶ 1 bouton utilisateur
18 / 29
Caractéristiques de la carte STM32F4Discovery
La carte STM32F4Discovery offre les caractéristiques suivantes :
 — Un microcontrôleur STM32F407VGT6 avec processeur ARM
Cortex-M4 32 bits doté de :
 une mémoire Flash de 1 Mo,
 une mémoire vive de 192 Ko,
 une FPU,
 Un ST-LINK/V2 intégré
 — Alimentation de la carte :
 par bus USB,
 par alimentation externe : 3 V ou 5 V.
 Un accéléromètre à 3 axes ST MEMS LIS3DSH,
 Un capteur audio (microphone) digital omnidirectionnel ST MEMS
MP45DT02.
 Un DAC audio avec haut-parleur de classe D intégré.
 Huit LEDs :
 LD1 (rouge/vert) pour la communication USB,
 LD2 (rouge) pour la mise sous tension 3.3 V,
 Quatre LEDs Utilisateur : LD3 (orange), LD4 (vert),
LD5 (rouge) et LD6 (bleu),
 2 LEDs USB OTG (USB On-The-Go) :
- LD7 (vert) VBUS,
- LD8 (rouge) surintensité.
 Deux boutons-poussoirs (utilisateur et
réinitialisation).
 Interface USB OTG avec connecteur micro-AB.
 En-têtes d’extension pour les E/S pour une connexion
rapide à la carte.
Caractéristiques de la carte STM32F4Discovery
24 / 29
Langages
C ou C++...
(ou tout langage compilant vers ARMv7)
Environnements de développement
Il en existe plusieurs (IDE, compilateur, debugger etc.) :
• Keil IDE / ArmCC (Keil),
• IAR Embedded Workbench (IAR),
• mBed (ARM)
• SW4STM/Eclipse/CubeMX/gcc (STMicroelectronics)
• . . .
• gcc/gdb/make/emacs :)
Chaînes d’outils de développement supportées

Contenu connexe

Similaire à cours2 ARM.pptx

Cours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptCours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptAbdo Brahmi
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAChiheb Ouaghlani
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
Chapitre3.pptx
Chapitre3.pptxChapitre3.pptx
Chapitre3.pptxHachmi3
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdfAliRami3
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurablesPeronnin Eric
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendreMariamHafsa
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011Jouhadi mehdi
 
Arduino saison 1-20180526
Arduino saison 1-20180526Arduino saison 1-20180526
Arduino saison 1-20180526FrancisGILLET
 
Monter son pc pour les nuls
Monter son pc pour les nulsMonter son pc pour les nuls
Monter son pc pour les nulsYoussef Bensafi
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industrielsHafsaELMessaoudi
 
chapitre222 (1).pptx
chapitre222 (1).pptxchapitre222 (1).pptx
chapitre222 (1).pptxriahyibtissem
 

Similaire à cours2 ARM.pptx (20)

Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Cours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptCours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.ppt
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGA
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Chapitre3.pptx
Chapitre3.pptxChapitre3.pptx
Chapitre3.pptx
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 
Materiel informatique 2011
Materiel informatique 2011Materiel informatique 2011
Materiel informatique 2011
 
Arduino saison 1-20180526
Arduino saison 1-20180526Arduino saison 1-20180526
Arduino saison 1-20180526
 
Monter son pc pour les nuls
Monter son pc pour les nulsMonter son pc pour les nuls
Monter son pc pour les nuls
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
Ch2 la carte mère
Ch2 la carte mèreCh2 la carte mère
Ch2 la carte mère
 
chapitre222 (1).pptx
chapitre222 (1).pptxchapitre222 (1).pptx
chapitre222 (1).pptx
 

cours2 ARM.pptx

  • 1. Comprendre l’architecture de STM32 Cours 2 1 / 29 Dr Besma OTHMANI KRIFA
  • 2. 2 / 29 Cours 2 Introduction aux microcontrôleurs 1- Les familles STM32 : les différences entre les séries des microcontrôleurs STM32 2- Les caractéristiques de STM32: Power ON/OFF, mode faible consommation… 3- Présenter les libraires du microcontrôleur STM32F4
  • 3. 8 / 29 Qu’est-ce qu’un microcontrôleur? Microcontrôleur (µC, uC, MCU) Circuit intégré rassemblant les éléments essentiels d’un ordinateur • unité de calcul et de contrôle (le coeur) • mémoire vive • périphériques (ex : port série, timers, DMA, flash. . .) • entrées/sorties (ex : convertisseurs analogique ↔ numérique (ADC/DAC))
  • 4. 9 / 29 Exemples d’utilisation Electroménager & Internet of Things • montres connectées, bracelets santé • capteurs domotiques, four, machine à laver, thermostat.. . • smartphones, tablettes Automobile, Aeronautique • une voiture moderne intègre ≈30 MCUs • logiciel critique dans l’avionique (cf. reste du master) Un foyer moyen possède 4 CPUs et 30 MCUs.
  • 5. Quelques MCUs fameux dans leur habitat naturel • Microchip PIC16 (1990, 8 bits, 1MHz, quelques registres) • Microchip PIC12 (1990, très utilisé en DIY) • Atmel AVR (2000, 8/16 bits, base des Arduino) 10 / 29
  • 6. Quelques MCUs fameux dans leur habitat naturel • ARM (2000) : Coeurs communs, différents constructeurs (ST, Texas Instruments, Microchip.. .) • SoC Freescale, Broadcom, TI etc. (2010, Raspberry Pi) 1GHz, 64 bits, RAM 512 Mo 10 / 29
  • 7. 11 / 29 Le MCU, un compromis L’intérêt • forte intégration (une puce intègre toutes les fonctions) • faible consommation électrique (1–500mW) • faible coût (0.10–10€) • généricité (par rapport au silicium dédié) Les limitations • peu de capacité de calcul (1–200 MHz) • très faible stockage (1–512 Ko RAM, 1K–1M flash)
  • 8. 12 / 29 Un MCU n’est pas : • un CPU (Central Processing Unit) (ex : Intel i7, Apple A11, . . .) ▶ puissance de calcul supérieure (GHz) ▶ pas de mémoire embarquée (quelques registres) ▶ pas de périphériques embarqués (bus externes) • un FPGA (Field-Programmable Gate Array) (ex : Xilinx, Altera.. .) ▶ circuit intégré reconfigurable ▶ grand nombre de portes logiques généralistes ▶ “programmation” en Verilog/VHDL
  • 9. 13 / 29 Protocoles de communication embarqués Toute communication entre le coeur et ses périphériques s’établit selon un protocole (une langue commune) Interne bus de données : unité de calcul ↔ RAM ↔ DMA, Externe communication avec puces externes; communication inter-MCU (ex : réseau de capteurs) Architectures symétrique, en réseaux, client-serveur.. . en général : couches de nombreux protocoles Exemple UART, SPI, I2C, CAN, USB. . .
  • 10. 14 / 29 La famille des ARM Cortex ARM architecture qui spécifie (notamment) un jeu d’instructions RISC, l’organisation de la mémoire, modèle d’exécution. . . Différentes versions du standard : ARMvX-M Cortex Famille de coeurs physiques vendus aux fabricants de silicone Cortex-A pour Application (ex : smartphones) Cortex-R pour Real-time (temps d’exécution déterministe) Cortex-M pour eMbedded (faible consommation) M0 ARMv6-M, petit et pas cher M3 ARMv7-M, *,/ hardware, plus d’instructions M4 ARMv7E-M, FPU, DSP Licences Cortex-M4 Atmel, STMicroelectronics, NXP, Texas Instruments
  • 11. 15 / 29 La famille des MCU STMicroelectronics STM32 STM32L0 Cortex M0+, 32MHz, 8Ko SRAM, 32-64Ko flash STM32F1 Cortex M1, 24-72MHz, 4-96Ko SRAM, 16-1024Ko STM32F3 Cortex M4 + FPU, 72MHz, 16-40Ko SRAM, 64-256Ko . . .STM32F7 ARM Cortex-M7F, 216MHz, 512-1024Ko RAM, . . . Chaque famille contient divers périphériques (E/S, calcul, . . .) : • 2xADC multiplexé, 2xDAC 12/16 bits • USART, SDIO, I2C, SPI, USB, . . . • EEPROM, flash, ROM.. . • DMA, timers, watchdogs, RTC, RNG. . . Applications • DSP audio (ADC/DAC) • contrôle de moteur, prototypage généraliste (ex : Arduino, cartes Nucleo/Discovery)
  • 12. 16 / 29 La série des STM32F3 STM32F3 plusieurs sous-familles : STM32F301, STM32F302, STM32F303 généralistes, différents périphériques analogiques (contrôle de moteur) STM32F334 timer haute résolution (217 picosecondes) STM32F373 16-bit sigma-delta ADC et ampli-ops intégrés STM32F3x8 marche à 1.8V au lieu de 3.3V
  • 13. La série des STM32F3 STM32F3 plusieurs sous-familles : STM32F301, STM32F302, STM32F303 généralistes, différents périphériques analogiques (contrôle de moteur) STM32F334 timer haute résolution (217 picosecondes) STM32F373 16-bit sigma-delta ADC et ampli-ops intégrés STM32F3x8 marche à 1.8V au lieu de 3.3V . ..chacuns dans différents choix de RAM, flash et packages : LQFP32 , LQFP100 , UFBGA100 . . . 16 / 29
  • 14.
  • 15. Les cartes d’essai Si vous voulez étudier les MCUs ou faire du prototypage rapide, pas besoin de concevoir une carte à chaque fois, il existe de nombreuses cartes d’essai. • produits d’appel pour les fabricants, donc très bon marché (≈20€) • divers périphériques embarqués : capteurs, écrans, réseau, audio.. . • programmation facile (interface USB) 17 / 29
  • 16. La carte STM32F3-discovery • STM32F303 : 72MHz, 48Ko RAM, 256Ko flash • documentation et schéma • programmeur USB intégré ST-Link • (presque) toutes les pattes du MCU accessibles sur header • périphériques externes : ▶ port USB utilisateur ▶ alimentation par USB ou externe (pile) ▶ accéléromètre/boussole 3D ▶ gyroscope ▶ 10 LEDs ▶ 1 bouton utilisateur 18 / 29
  • 17.
  • 18. Caractéristiques de la carte STM32F4Discovery La carte STM32F4Discovery offre les caractéristiques suivantes :  — Un microcontrôleur STM32F407VGT6 avec processeur ARM Cortex-M4 32 bits doté de :  une mémoire Flash de 1 Mo,  une mémoire vive de 192 Ko,  une FPU,  Un ST-LINK/V2 intégré  — Alimentation de la carte :  par bus USB,  par alimentation externe : 3 V ou 5 V.  Un accéléromètre à 3 axes ST MEMS LIS3DSH,  Un capteur audio (microphone) digital omnidirectionnel ST MEMS MP45DT02.  Un DAC audio avec haut-parleur de classe D intégré.
  • 19.  Huit LEDs :  LD1 (rouge/vert) pour la communication USB,  LD2 (rouge) pour la mise sous tension 3.3 V,  Quatre LEDs Utilisateur : LD3 (orange), LD4 (vert), LD5 (rouge) et LD6 (bleu),  2 LEDs USB OTG (USB On-The-Go) : - LD7 (vert) VBUS, - LD8 (rouge) surintensité.  Deux boutons-poussoirs (utilisateur et réinitialisation).  Interface USB OTG avec connecteur micro-AB.  En-têtes d’extension pour les E/S pour une connexion rapide à la carte. Caractéristiques de la carte STM32F4Discovery
  • 20. 24 / 29 Langages C ou C++... (ou tout langage compilant vers ARMv7) Environnements de développement Il en existe plusieurs (IDE, compilateur, debugger etc.) : • Keil IDE / ArmCC (Keil), • IAR Embedded Workbench (IAR), • mBed (ARM) • SW4STM/Eclipse/CubeMX/gcc (STMicroelectronics) • . . . • gcc/gdb/make/emacs :) Chaînes d’outils de développement supportées