SlideShare une entreprise Scribd logo
1  sur  20
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

Tendances

Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetInes Kechiche
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded SystemsSara Morgan
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Mohammed Lamghari
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODwebmasterref68
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligente
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligenteIoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligente
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligenteUSERADGENTS
 
Présentation projet domotique
Présentation projet domotiquePrésentation projet domotique
Présentation projet domotiqueSinGuy
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanCorneliu Gaina
 
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CAN
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CANCours Bus de communication et réseaux industriels. Chapitre 3 : Bus CAN
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CANTarik Zakaria Benmerar
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduinoSinGuy
 
Théorie de l'information
Théorie de l'informationThéorie de l'information
Théorie de l'informationRichardTerrat1
 
Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Hamza Ibrahmi
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursAbdoulaye Dieng
 

Tendances (20)

Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Travaux dirigés Réseau Ethernet
Travaux dirigés Réseau EthernetTravaux dirigés Réseau Ethernet
Travaux dirigés Réseau Ethernet
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des Objets
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
Les montres connectées
Les montres connectéesLes montres connectées
Les montres connectées
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HOD
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligente
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligenteIoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligente
IoTeaTime #3 : Smart Home | De la maison connectée à la maison intelligente
 
Présentation projet domotique
Présentation projet domotiquePrésentation projet domotique
Présentation projet domotique
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
 
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CAN
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CANCours Bus de communication et réseaux industriels. Chapitre 3 : Bus CAN
Cours Bus de communication et réseaux industriels. Chapitre 3 : Bus CAN
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Théorie de l'information
Théorie de l'informationThéorie de l'information
Théorie de l'information
 
Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique ) Maisons Intelligentes ( Projet bibliographique )
Maisons Intelligentes ( Projet bibliographique )
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateurs
 

Similaire à cours2 ARM.pptx

Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino unobyorn TANDU
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino unobyorn TANDU
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
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
 
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
 

Similaire à cours2 ARM.pptx (20)

11776626.ppt
11776626.ppt11776626.ppt
11776626.ppt
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Cours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptCours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.ppt
 
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
 
Chapitre3.pptx
Chapitre3.pptxChapitre3.pptx
Chapitre3.pptx
 
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
 

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