SlideShare une entreprise Scribd logo
1  sur  46
objectifs
• Comprendre le fonctionnement d’un microcontrôleur
• Savoir manipuler les entrées / sorties
• Maitriser les fonctions d'entrée sortie de stm32f4-discovery
• Réaliser un circuit électronique programmé
• Développer un programme sur IAR embedded workbench
1
Plan
1.Introduction aux microcontrôleurs.
2.Le monde des applications basées sur un microcontrôleur.
3.Familles de microcontrôleurs .
4.Les Outils de développement.
5.Création d’un nouveau projet.
6.Configuration du projet.
2
1.1 Qu'est-ce qu'un microcontrôleur ? (1/2)
Un microcontrôleur
Introduction aux microcontrôleurs
= + +
périphériques d'entrée
sortie
Mémoire microprocesseur
Gravé sur la même puce
Bus de communication
3
1. Qu'est-ce qu'un microcontrôleur ? (2/2)Introduction aux microcontrôleurs
Architecture de baseMicrocontrôleur
4
1.2 Caractéristique d’un microcontrôleurIntroduction aux microcontrôleurs
• Faible consommation
• Bas coûts
• Dimension réduite
• Mémoire de taille limitée
• Faible vitesse de fonctionnement.
5
1.3 Fonctionnement d’un microcontrôleurIntroduction aux microcontrôleurs
6
1.5 Programmation de microcontrôleurIntroduction aux microcontrôleurs
Ordinateur
Programmateur: interface de
programmation et du débogage
Microcontrôleur
Fichier binaire ou hexadécimal
contenue des registres
7
2.1 Domaine d’automobile
2. Le monde des applications basées sur un
microcontrôleur
Ordinateur de bord des voitures
• Calcule de vitesse
• Mesure de température
• Contrôle des medias
8
KUKA robot: robots utiliser pour l’assemblage des voituresNAO ROBOT
2.2 ROBOTIQUE
2. Le monde des applications basées sur un
microcontrôleur
9
La domotique est l’ensemble des techniques de l'électronique, de physique du bâtiment,
d'automatisme, de l'informatique et des télécommunications utilisées dans les bâtiments
• pilotage des volets, portes,
lampes via un smart phone
• Régulation automatique de
température
• Détection des fuites d’eau et
coupures électriques
2.3 DOMOTIQUE
2. Le monde des applications basées sur un
microcontrôleur
10
2. Le monde des applications basées sur un microcontrôleur
Est ce que tous ces systèmes utilisent la même
famille de microcontrôleur ?
11
3.1 exemples des familles3. Familles de microcontrôleurs
12
3. Familles de microcontrôleurs 3.2 La famille stm32
13
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
14
Fabricant STMicroelectronics
Largeur du bus de données 32 bit
Fréquence de l'horloge max 168 MHZ
Taille de la mémoire du programme 1 MB
Taille de la RAM de données 192 KB
Cœur ARM Cortex M4
Tension d'alimentation de
fonctionnement
1.8 V to 3.6 V
Température de fonctionnement max + 85 C
Type de Ram de données SRAM
Type d'interface CAN, I2C, I2S, SPI, UART
Température de fonctionnement min - 40 C
Nombre d'E/S 82 I/O
Type de la mémoire programme Flash
Caractéristique du microcontrôleur stm32f407vg
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
15
STM32f407VGt6
STM32F407vgt6 pinout
3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg
16
3. Familles de microcontrôleurs
51/82/114/140 I/Os
USB 2.0 OTG
FS/HS
Encryption**
Camera Interface
3x 12-bit ADC
24 channels / 2Msps
3x I2C
Up to 16 Ext. ITs
Temp Sensor
2x6x 16-bit PWM
Synchronized AC Timer
2x Watchdog
(independent & window)
5x 16-bit Timer
XTAL oscillators
32KHz + 8~25MHz
Power Supply
Reg 1.2V
POR/PDR/PVD
2x DAC + 2 Timers
2 x USART/LIN
1 x SPI
1 x Systic Timer
PLL
Clock Control
RTC / AWU
4KB backup RAM
Ethernet MAC
10/100, IEEE1588
USB 2.0 OTG FS
4x USART/LIN
1x SDIO
Int. RC oscillators
32KHz + 16MHz
3 x 16bit Timer
2x 32-bit Timer
2x CAN 2.0B
2 x SPI / I2S
STM32F4xx Block Diagram
ARM®32-bitmulti-AHBbusmatrix
Arbiter(max150MHz)
FlashI/F
CORTEX-M4
CPU + FPU +
MPU
168 MHz
128KB SRAM
JTAG/SW Debug
DMA
16 Channels
Nested vect IT Ctrl
Bridge
Bridge APB1 (max 42MHz)
ETM
512kB- 1MB
Flash Memory
External Memory
Interface
AHB1
(max 168MHz)
AHB2 (max 168MHz)
APB2(max84MHz)
D-bus
I-bus
S-bus
3.2 La famille stm32f4 STM32f407vg
17
3. Familles de microcontrôleurs
• AMBA: Advanced Microcontroller Bus Architecture
• AHB: Advanced High-performance Bus  AHB1 & AHB2 (168MHz)
• APB: Advanced Peripheral Bus  AP1 ( 42MHz) & AP2 (84MHz)
system Bus : ARM On-Chip
3.2 La famille stm32f4 STM32f407vg
18
3. Familles de microcontrôleurs
NVIC:
Nested
Vectored
Interrupt
Controller
Contrôleur des interruptions
EXTI:
EXTernal
Interrupt
Cœur du
processeur
cortex M4
Périphérique:
ADC
DMA
UART
SPI
I2C
I2S
TIM
USB
DAC
3.2 La famille stm32f4 STM32f407vg
EXTI0EXTI15
3. Familles de microcontrôleurs
51/82/114/140 I/Os
USB 2.0 OTG FS/HS
Encryption**
Camera Interface
3x 12-bit ADC
24 channels / 2Msps
3x I2C
Up to 16 Ext. ITs
Temp Sensor
2x6x 16-bit PWM
Synchronized AC Timer
2x Watchdog
(independent & window)
5x 16-bit Timer
XTAL oscillators
32KHz + 8~25MHz
Power Supply
Reg 1.2V
POR/PDR/PVD
2x DAC + 2 Timers
2 x USART/LIN
1 x SPI
1 x Systic Timer
PLL
Clock Control
RTC / AWU
4KB backup RAM
Ethernet MAC 10/100,
IEEE1588
USB 2.0 OTG FS
4x USART/LIN
1x SDIO
Int. RC oscillators
32KHz + 16MHz
3 x 16bit Timer
2x 32-bit Timer
2x CAN 2.0B
2 x SPI / I2S
ARM®32-bitmulti-AHBbusmatrix
Arbiter(max150MHz)
FlashI/F
CORTEX-M4
CPU + FPU +
MPU
168 MHz
128KB SRAM
JTAG/SW Debug
DMA
16 Channels
Nested vect IT Ctrl
Bridge
Bridge APB1 (max 42MHz)
ETM
512kB- 1MB
Flash Memory
External Memory
Interface
AHB1
(max 168MHz)
AHB2 (max 168MHz)
APB2(max84MHz)
D-bus
I-bus
S-bus
 Up to 15 communication interfaces
– Up to 3 × I2C interfaces
– Up to 4 USARTs/2 UARTs
– Up to 3 SPIs (37.5 Mbits/s),
– 2 × CAN interfaces (2.0B Active)
– SDIO interface
■ Advanced connectivity
– USB 2.0 full-speed device
– USB 2.0 high-speed/full-speed
device
– 10/100 Ethernet MAC
■ 8- to 14-bit parallel camera interface up to
54 Mbytes/s
Périphérique de communication:
3.2 La famille stm32f4 STM32f407vg
20
STM32f4-discovery
programmateur st link v2
STM32f407VGt6
Périphérique extérieur aux µC:
• Microphone
• DAC audio
• Accéléromètre
• Bouton (user/reset)
• USB OTG
3. Familles de microcontrôleurs 3.2 La famille stm32f4 La carte STM32F4-discovery
21
programmateur st link v2 jumper connection
3. Familles de microcontrôleurs 3.2 La famille stm32f4 La carte STM32F4-discovery
22
4.1 environnement matérielle
• Matériel de base:
• PC Windows (XP, vista,7 ,8, 10)
• câble USB type A to Mini-B
• matériel supplémentaire:
• câble USB type A to Micro-B
• Casque avec connecteur jack mâle
4. Les Outils de développement
23
4. Les Outils de développement 4.2 Environnement logiciel
IAR Embedded Workbench
4.2.1 Vue d’ensemble
Atollic True studio
Keil µvision 5 24
4. Les Outils de développement 4.2.1 Environnement logiciel IAR embedded workbench
Workspace
window
build window
file
window
4.2 Environnement logiciel
Code bien
compilé
Débogage
Compilation
Breakpoint
25
5. Structure de projet
Embedded Workbench ARM:
Contient les fichiers driver du processor de microcontrôleur
4. Création d’un nouveau projet 4.3 structure de projet(1/4)
26
STM32f4-discovery:
Contient les fichiers driver de périphérique externe au microcontrôleur
stm32f407vg:
• Stm32f4_discover.c :
contient les fonctions driver de manipulation des LED et des buttons
• stm32f4_discovery_audio_codec.c:
contient les fonctions driver de manipulation du codeur audio
• stm32f4_discovery_lis302dl.c:
contient les fonctions driver de manipulation de l’accéléromètre
4. Création d’un nouveau projet 4.3 structure de projet(2/4)
27
STM32f4xx_stdPeriph_Driver:
Contient les fichiers driver des périphériques internes au microcontrôleur
stm32f407vg
4. Création d’un nouveau projet 4.3 structure de projet(3/4)
28
User:
Contient les fichiers de l’application
• Main.c: contient le code de l’application
• Stm32f4xx_it.c: contient le code a exécuté lors d’une interruption.
• System_stm32f4xx.c: contient deux fonctions:
• SystemInit(): initialisation du l’horloge de système.
• SystemCoreClockUpdate():mise à jour de fréquence d’horloge de
microcontrôleur.
4. Création d’un nouveau projet 4.3 structure de projet(4/4)
29
Etape 1: Création du nouveau projet en langage C.
Etape 2: Ajout des fichiers pilotes.
Etape 3: Configuration du projet.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
30
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Etape 1: Création du nouveau projet en langage C.
31
Projet simple en langage C qui implémente la fonction main
Etape 1: Création du nouveau projet en langage C.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
32
Etape2: Ajout des fichiers pilotes.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
33
Dossier 1: STM32f4-discovery
Contient les fichiers driver de microcontrôleur stm32f407vg:
• Driver du core ARM cortex m4
• driver des périphériques interne (GPIO, EXTI,…) au
microcontrôleur
Contient des exemples de projet
Contient les fichiers driver des périphériques de la carte stm32f4-
discovery
Etape2: Ajout des fichiers pilotes. (1/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
34
Dossier 2: useful_stm32f4
Fichier de configuration d’appel des fichier driver des
périphériques interne au µc
Contient les fonctions du configuration des tâches à exécuter lors
d’une interruption
Contient les en-tête des fonction implémenter dans le fichier
stm32f4xx_it.c
Etape2: Ajout des fichiers pilotes (2/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
35
Le 1ére groupe est « EWARM » : ce dossier va contenir les
Fichiers pilotes du processeur ARM. Dans notre exemple c’est le
processeur ARM-cortex M4.
• System_stm32f4xx.c: contient deux fonctions:
• SystemInit(): initialisation du l’horloge de système.
• SystemCoreClockUpdate():mise à jour de fréquence
d’horloge de microcontrôleur.
GroupedefichiersFichiersajouter
STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxSourceTemplatesiar
Etape2: Ajout des fichiers pilotes (3/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
36
Le 2éme groupe est « STM32F4-discovery » : ce dossier va contenir les
Fichiers pilotes des périphérique de la carte stm32f4-discovery (les buttons,
DAC audio, les 4 LED, le microphone et accéléromètre).
GroupedefichiersFichiersajouter
STM32F4-Discovery_FW_V1.1.0UtilitiesSTM32F4-Discovery
Etape2: Ajout des fichiers pilotes (4/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
37
Le 3éme groupe est « STM32F4xx_StdPeriph_Driver» : ce dossier va contenir
les Fichiers pilotes des périphériques internes au microcontrôleur(GPIO,
ADC, TIMEUR, EXTI …).
GroupedefichiersFichiersajouter
STM32F4-Discovery_FW_V1.1.0LibrariesSTM32F4xx_StdPeriph_Driversrc
Etape2: Ajout des fichiers pilotes (5/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
38
Le 3éme groupe est « user» : ce dossier va contenir
les Fichiers d’implémentation de l’application.
GroupedefichiersFichiersajouter
STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxSourceTemplates
useful_files_STM32F4
NB: le fichier main doit être placer dans le dossier user
Etape2: Ajout des fichiers pilotes (6/6)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
39
Etape3: configuration du projet.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
40
Configuration du projet (1/4)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Choisir la référence du microcontrôleur
CMSIS:
Cortex
Microcontroleur
Software
Interface
Coucher la case « Use CMSIS»
41
Configuration du projet (2/3)
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
1. $PROJ_DIR$: variable signifie le dossier qui contient le projet.
contient la bibliothèque d’interruption.
2. STM32F4-Discovery_FW_V1.1.0LibrariesCMSISInclude
contient les bibliothèques de processeur cortex m4
3. STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxInclude
4. STM32F4-Discovery_FW_V1.1.0LibrariesSTM32F4xx_StdPeriph_Driverinc
contient les bibliothèques des périphériques de µC STM32F407vg
5. STM32F4-Discovery_FW_V1.1.0UtilitiesSTM32F4-Discovery
contient les bibliothèques des périphériques de la carte stm32f4-discovery.
• USE_STDPERIPH_DRIVER:
définir ce symbole pour facilité la manipulation des
périphériques.
• STM32F4xx:
définir ce symbole pour facilité la manipulation des
registre du processeur via des fonctions prés
préparer par ST. 42
Configuration du Link Configuration du Downlod:
1. Activer l’option « verify downlod ».
2. Activer l’option « use flash loder(s) ».
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Configuration du projet (3/4)
43
Il faut activer le driver du programmateur st-link
Dans les options du débogueur.
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
Configuration du projet (4/4)
44
Création du nouveau projet terminée
Et voila notre environnement est prêt pour la programmation
4. Création d’un nouveau projet 4.4 Création d’un nouveau projet
45
Partie pratique
Stm32f4-discovery
Résistances
Afficheur LCD 16*4
Afficheur 7 segments
Des diodes LED
46

Contenu connexe

Tendances

Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
Sana Aroussi
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
yassinesmz
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
Sana Aroussi
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI
 

Tendances (20)

Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
Rapport de Stage PFE - Développement d'un Projet ALTEN MAROC Concernant le Sy...
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
Rapport
RapportRapport
Rapport
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Presentation arduino
Presentation arduinoPresentation arduino
Presentation arduino
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Rapport PFE Génie Electrique (2016)
Rapport PFE Génie Electrique (2016)Rapport PFE Génie Electrique (2016)
Rapport PFE Génie Electrique (2016)
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 
Implémentation d’une solution de supervision de température et d’humidité pou...
Implémentation d’une solution de supervision de température et d’humidité pou...Implémentation d’une solution de supervision de température et d’humidité pou...
Implémentation d’une solution de supervision de température et d’humidité pou...
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 

Similaire à Formation stm32

11776626.ppt
11776626.ppt11776626.ppt
11776626.ppt
khalilMansouri4
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?
Pierre-jean Texier
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Cours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptCours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.ppt
Abdo Brahmi
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
DAPcreat
 

Similaire à Formation stm32 (20)

11776626.ppt
11776626.ppt11776626.ppt
11776626.ppt
 
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
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?
 
cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)cấu trúc máy tính ( architecture des ordinatuers)
cấu trúc máy tính ( architecture des ordinatuers)
 
Microprocesseur.pptx
Microprocesseur.pptxMicroprocesseur.pptx
Microprocesseur.pptx
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
 
Net duino et le .net micro framework
Net duino et le .net micro frameworkNet duino et le .net micro framework
Net duino et le .net micro framework
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Cours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.pptCours2 Master Embarqué 2022-2023.ppt
Cours2 Master Embarqué 2022-2023.ppt
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 

Formation stm32

  • 1. objectifs • Comprendre le fonctionnement d’un microcontrôleur • Savoir manipuler les entrées / sorties • Maitriser les fonctions d'entrée sortie de stm32f4-discovery • Réaliser un circuit électronique programmé • Développer un programme sur IAR embedded workbench 1
  • 2. Plan 1.Introduction aux microcontrôleurs. 2.Le monde des applications basées sur un microcontrôleur. 3.Familles de microcontrôleurs . 4.Les Outils de développement. 5.Création d’un nouveau projet. 6.Configuration du projet. 2
  • 3. 1.1 Qu'est-ce qu'un microcontrôleur ? (1/2) Un microcontrôleur Introduction aux microcontrôleurs = + + périphériques d'entrée sortie Mémoire microprocesseur Gravé sur la même puce Bus de communication 3
  • 4. 1. Qu'est-ce qu'un microcontrôleur ? (2/2)Introduction aux microcontrôleurs Architecture de baseMicrocontrôleur 4
  • 5. 1.2 Caractéristique d’un microcontrôleurIntroduction aux microcontrôleurs • Faible consommation • Bas coûts • Dimension réduite • Mémoire de taille limitée • Faible vitesse de fonctionnement. 5
  • 6. 1.3 Fonctionnement d’un microcontrôleurIntroduction aux microcontrôleurs 6
  • 7. 1.5 Programmation de microcontrôleurIntroduction aux microcontrôleurs Ordinateur Programmateur: interface de programmation et du débogage Microcontrôleur Fichier binaire ou hexadécimal contenue des registres 7
  • 8. 2.1 Domaine d’automobile 2. Le monde des applications basées sur un microcontrôleur Ordinateur de bord des voitures • Calcule de vitesse • Mesure de température • Contrôle des medias 8
  • 9. KUKA robot: robots utiliser pour l’assemblage des voituresNAO ROBOT 2.2 ROBOTIQUE 2. Le monde des applications basées sur un microcontrôleur 9
  • 10. La domotique est l’ensemble des techniques de l'électronique, de physique du bâtiment, d'automatisme, de l'informatique et des télécommunications utilisées dans les bâtiments • pilotage des volets, portes, lampes via un smart phone • Régulation automatique de température • Détection des fuites d’eau et coupures électriques 2.3 DOMOTIQUE 2. Le monde des applications basées sur un microcontrôleur 10
  • 11. 2. Le monde des applications basées sur un microcontrôleur Est ce que tous ces systèmes utilisent la même famille de microcontrôleur ? 11
  • 12. 3.1 exemples des familles3. Familles de microcontrôleurs 12
  • 13. 3. Familles de microcontrôleurs 3.2 La famille stm32 13
  • 14. 3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg 14
  • 15. Fabricant STMicroelectronics Largeur du bus de données 32 bit Fréquence de l'horloge max 168 MHZ Taille de la mémoire du programme 1 MB Taille de la RAM de données 192 KB Cœur ARM Cortex M4 Tension d'alimentation de fonctionnement 1.8 V to 3.6 V Température de fonctionnement max + 85 C Type de Ram de données SRAM Type d'interface CAN, I2C, I2S, SPI, UART Température de fonctionnement min - 40 C Nombre d'E/S 82 I/O Type de la mémoire programme Flash Caractéristique du microcontrôleur stm32f407vg 3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg 15
  • 16. STM32f407VGt6 STM32F407vgt6 pinout 3. Familles de microcontrôleurs 3.2 La famille stm32f4 STM32f407vg 16
  • 17. 3. Familles de microcontrôleurs 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp Sensor 2x6x 16-bit PWM Synchronized AC Timer 2x Watchdog (independent & window) 5x 16-bit Timer XTAL oscillators 32KHz + 8~25MHz Power Supply Reg 1.2V POR/PDR/PVD 2x DAC + 2 Timers 2 x USART/LIN 1 x SPI 1 x Systic Timer PLL Clock Control RTC / AWU 4KB backup RAM Ethernet MAC 10/100, IEEE1588 USB 2.0 OTG FS 4x USART/LIN 1x SDIO Int. RC oscillators 32KHz + 16MHz 3 x 16bit Timer 2x 32-bit Timer 2x CAN 2.0B 2 x SPI / I2S STM32F4xx Block Diagram ARM®32-bitmulti-AHBbusmatrix Arbiter(max150MHz) FlashI/F CORTEX-M4 CPU + FPU + MPU 168 MHz 128KB SRAM JTAG/SW Debug DMA 16 Channels Nested vect IT Ctrl Bridge Bridge APB1 (max 42MHz) ETM 512kB- 1MB Flash Memory External Memory Interface AHB1 (max 168MHz) AHB2 (max 168MHz) APB2(max84MHz) D-bus I-bus S-bus 3.2 La famille stm32f4 STM32f407vg 17
  • 18. 3. Familles de microcontrôleurs • AMBA: Advanced Microcontroller Bus Architecture • AHB: Advanced High-performance Bus  AHB1 & AHB2 (168MHz) • APB: Advanced Peripheral Bus  AP1 ( 42MHz) & AP2 (84MHz) system Bus : ARM On-Chip 3.2 La famille stm32f4 STM32f407vg 18
  • 19. 3. Familles de microcontrôleurs NVIC: Nested Vectored Interrupt Controller Contrôleur des interruptions EXTI: EXTernal Interrupt Cœur du processeur cortex M4 Périphérique: ADC DMA UART SPI I2C I2S TIM USB DAC 3.2 La famille stm32f4 STM32f407vg EXTI0EXTI15
  • 20. 3. Familles de microcontrôleurs 51/82/114/140 I/Os USB 2.0 OTG FS/HS Encryption** Camera Interface 3x 12-bit ADC 24 channels / 2Msps 3x I2C Up to 16 Ext. ITs Temp Sensor 2x6x 16-bit PWM Synchronized AC Timer 2x Watchdog (independent & window) 5x 16-bit Timer XTAL oscillators 32KHz + 8~25MHz Power Supply Reg 1.2V POR/PDR/PVD 2x DAC + 2 Timers 2 x USART/LIN 1 x SPI 1 x Systic Timer PLL Clock Control RTC / AWU 4KB backup RAM Ethernet MAC 10/100, IEEE1588 USB 2.0 OTG FS 4x USART/LIN 1x SDIO Int. RC oscillators 32KHz + 16MHz 3 x 16bit Timer 2x 32-bit Timer 2x CAN 2.0B 2 x SPI / I2S ARM®32-bitmulti-AHBbusmatrix Arbiter(max150MHz) FlashI/F CORTEX-M4 CPU + FPU + MPU 168 MHz 128KB SRAM JTAG/SW Debug DMA 16 Channels Nested vect IT Ctrl Bridge Bridge APB1 (max 42MHz) ETM 512kB- 1MB Flash Memory External Memory Interface AHB1 (max 168MHz) AHB2 (max 168MHz) APB2(max84MHz) D-bus I-bus S-bus  Up to 15 communication interfaces – Up to 3 × I2C interfaces – Up to 4 USARTs/2 UARTs – Up to 3 SPIs (37.5 Mbits/s), – 2 × CAN interfaces (2.0B Active) – SDIO interface ■ Advanced connectivity – USB 2.0 full-speed device – USB 2.0 high-speed/full-speed device – 10/100 Ethernet MAC ■ 8- to 14-bit parallel camera interface up to 54 Mbytes/s Périphérique de communication: 3.2 La famille stm32f4 STM32f407vg 20
  • 21. STM32f4-discovery programmateur st link v2 STM32f407VGt6 Périphérique extérieur aux µC: • Microphone • DAC audio • Accéléromètre • Bouton (user/reset) • USB OTG 3. Familles de microcontrôleurs 3.2 La famille stm32f4 La carte STM32F4-discovery 21
  • 22. programmateur st link v2 jumper connection 3. Familles de microcontrôleurs 3.2 La famille stm32f4 La carte STM32F4-discovery 22
  • 23. 4.1 environnement matérielle • Matériel de base: • PC Windows (XP, vista,7 ,8, 10) • câble USB type A to Mini-B • matériel supplémentaire: • câble USB type A to Micro-B • Casque avec connecteur jack mâle 4. Les Outils de développement 23
  • 24. 4. Les Outils de développement 4.2 Environnement logiciel IAR Embedded Workbench 4.2.1 Vue d’ensemble Atollic True studio Keil µvision 5 24
  • 25. 4. Les Outils de développement 4.2.1 Environnement logiciel IAR embedded workbench Workspace window build window file window 4.2 Environnement logiciel Code bien compilé Débogage Compilation Breakpoint 25
  • 26. 5. Structure de projet Embedded Workbench ARM: Contient les fichiers driver du processor de microcontrôleur 4. Création d’un nouveau projet 4.3 structure de projet(1/4) 26
  • 27. STM32f4-discovery: Contient les fichiers driver de périphérique externe au microcontrôleur stm32f407vg: • Stm32f4_discover.c : contient les fonctions driver de manipulation des LED et des buttons • stm32f4_discovery_audio_codec.c: contient les fonctions driver de manipulation du codeur audio • stm32f4_discovery_lis302dl.c: contient les fonctions driver de manipulation de l’accéléromètre 4. Création d’un nouveau projet 4.3 structure de projet(2/4) 27
  • 28. STM32f4xx_stdPeriph_Driver: Contient les fichiers driver des périphériques internes au microcontrôleur stm32f407vg 4. Création d’un nouveau projet 4.3 structure de projet(3/4) 28
  • 29. User: Contient les fichiers de l’application • Main.c: contient le code de l’application • Stm32f4xx_it.c: contient le code a exécuté lors d’une interruption. • System_stm32f4xx.c: contient deux fonctions: • SystemInit(): initialisation du l’horloge de système. • SystemCoreClockUpdate():mise à jour de fréquence d’horloge de microcontrôleur. 4. Création d’un nouveau projet 4.3 structure de projet(4/4) 29
  • 30. Etape 1: Création du nouveau projet en langage C. Etape 2: Ajout des fichiers pilotes. Etape 3: Configuration du projet. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 30
  • 31. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet Etape 1: Création du nouveau projet en langage C. 31
  • 32. Projet simple en langage C qui implémente la fonction main Etape 1: Création du nouveau projet en langage C. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 32
  • 33. Etape2: Ajout des fichiers pilotes. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 33
  • 34. Dossier 1: STM32f4-discovery Contient les fichiers driver de microcontrôleur stm32f407vg: • Driver du core ARM cortex m4 • driver des périphériques interne (GPIO, EXTI,…) au microcontrôleur Contient des exemples de projet Contient les fichiers driver des périphériques de la carte stm32f4- discovery Etape2: Ajout des fichiers pilotes. (1/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 34
  • 35. Dossier 2: useful_stm32f4 Fichier de configuration d’appel des fichier driver des périphériques interne au µc Contient les fonctions du configuration des tâches à exécuter lors d’une interruption Contient les en-tête des fonction implémenter dans le fichier stm32f4xx_it.c Etape2: Ajout des fichiers pilotes (2/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 35
  • 36. Le 1ére groupe est « EWARM » : ce dossier va contenir les Fichiers pilotes du processeur ARM. Dans notre exemple c’est le processeur ARM-cortex M4. • System_stm32f4xx.c: contient deux fonctions: • SystemInit(): initialisation du l’horloge de système. • SystemCoreClockUpdate():mise à jour de fréquence d’horloge de microcontrôleur. GroupedefichiersFichiersajouter STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxSourceTemplatesiar Etape2: Ajout des fichiers pilotes (3/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 36
  • 37. Le 2éme groupe est « STM32F4-discovery » : ce dossier va contenir les Fichiers pilotes des périphérique de la carte stm32f4-discovery (les buttons, DAC audio, les 4 LED, le microphone et accéléromètre). GroupedefichiersFichiersajouter STM32F4-Discovery_FW_V1.1.0UtilitiesSTM32F4-Discovery Etape2: Ajout des fichiers pilotes (4/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 37
  • 38. Le 3éme groupe est « STM32F4xx_StdPeriph_Driver» : ce dossier va contenir les Fichiers pilotes des périphériques internes au microcontrôleur(GPIO, ADC, TIMEUR, EXTI …). GroupedefichiersFichiersajouter STM32F4-Discovery_FW_V1.1.0LibrariesSTM32F4xx_StdPeriph_Driversrc Etape2: Ajout des fichiers pilotes (5/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 38
  • 39. Le 3éme groupe est « user» : ce dossier va contenir les Fichiers d’implémentation de l’application. GroupedefichiersFichiersajouter STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxSourceTemplates useful_files_STM32F4 NB: le fichier main doit être placer dans le dossier user Etape2: Ajout des fichiers pilotes (6/6) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 39
  • 40. Etape3: configuration du projet. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 40
  • 41. Configuration du projet (1/4) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet Choisir la référence du microcontrôleur CMSIS: Cortex Microcontroleur Software Interface Coucher la case « Use CMSIS» 41
  • 42. Configuration du projet (2/3) 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 1. $PROJ_DIR$: variable signifie le dossier qui contient le projet. contient la bibliothèque d’interruption. 2. STM32F4-Discovery_FW_V1.1.0LibrariesCMSISInclude contient les bibliothèques de processeur cortex m4 3. STM32F4-Discovery_FW_V1.1.0LibrariesCMSISSTSTM32F4xxInclude 4. STM32F4-Discovery_FW_V1.1.0LibrariesSTM32F4xx_StdPeriph_Driverinc contient les bibliothèques des périphériques de µC STM32F407vg 5. STM32F4-Discovery_FW_V1.1.0UtilitiesSTM32F4-Discovery contient les bibliothèques des périphériques de la carte stm32f4-discovery. • USE_STDPERIPH_DRIVER: définir ce symbole pour facilité la manipulation des périphériques. • STM32F4xx: définir ce symbole pour facilité la manipulation des registre du processeur via des fonctions prés préparer par ST. 42
  • 43. Configuration du Link Configuration du Downlod: 1. Activer l’option « verify downlod ». 2. Activer l’option « use flash loder(s) ». 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet Configuration du projet (3/4) 43
  • 44. Il faut activer le driver du programmateur st-link Dans les options du débogueur. 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet Configuration du projet (4/4) 44
  • 45. Création du nouveau projet terminée Et voila notre environnement est prêt pour la programmation 4. Création d’un nouveau projet 4.4 Création d’un nouveau projet 45
  • 46. Partie pratique Stm32f4-discovery Résistances Afficheur LCD 16*4 Afficheur 7 segments Des diodes LED 46