Startup

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 20

Formation STM32 startup

Initiation
I. But
Initiation au logiciel STM32CubeMx et keil et débogage

II. Introduction
Pour programmé le kit devkit1207 qui compatible avec STM3220G-EVAL on va utiliser
deux logiciel STM32CubeMx pour la configuration des périphérique du microcontrôleur
STM et keil pour le développement et débogage.

III. Configuration matériel avec STM32CubeMx


Lors de l’ouverture du STM32cubeMx on aura la fenêtre suivante

On cliquant sur new project on aura la fenêtre suivante

MAHER Boumiza Page 1


Formation STM32 startup

On peut sélectionner le processeur par périphérique, par série et lines ou bien par kit .on
sélectionnant l’onglet board selector on peut sélectionner le kit STM 3220G-EVAL qui
est compatible avec le kit embest devkit1207

MAHER Boumiza Page 2


Formation STM32 startup

Dans ce qui suit on va travailler avec le processeur du kit qui est STM32F207IGT6

MAHER Boumiza Page 3


Formation STM32 startup

Dans l’onglet MCU selector On sélectionne ST32F2 dans le menu déroulant Series
STM32F2x7 dans le menu déroulant lines puis stm32f207IGTx dans MCUs list double
click sur celui-ci la fenêtre suivante s’ouvre

MAHER Boumiza Page 4


Formation STM32 startup

 Onglet pinout pour configuration des entré sortie


 Onglet clock configuration pour la configuration d’horloge
 Onglet configuration pour la configuration des périphériques
 Menu déroulant find pour la recherche des pins a configuré.

Le périphérique qui est activer et configurer se colore en vert mais certain d’autre
montre un triangle jaune ou une cercle rouge indiquant un problème

MAHER Boumiza Page 5


Formation STM32 startup

Dans l’exemple ci-dessus en configurant le DAC il se colore en vert, mais ADC2 et


ADC1 donne un avertissement .on mettant le curseur sur le triangle le logiciel montre le
message de warning

L’avertissement Dans ce cas et que lors de l’activation de DAC1 out l’entré analogique
IN4 de ADC2 n’est plus valable comme entré analogique. Donc le problème de conflit de
PIN et résolu grâce au logiciel

Toujours on commence par la configuration d’horloge, Pour la configurer on doit


d’abord choisir le type de source d’horloge soit interne soit externe, il est toujours
préférable d’utilisé un quartz extérieur car il est plus stable que l’oscillateur interne RC
surtout si on désire utiliser une communication asynchrone.

MAHER Boumiza Page 6


Formation STM32 startup

Pour avoir une fréquence d’horloge élevée on utilise le PLL intégré dans le processeur.
Sa configuration et comme suit

MAHER Boumiza Page 7


Formation STM32 startup

Il faut tout d’abord déterminer la fréquence de quartz qui doit être entre 4-26MHZ et on
coche HSE dans le PLL source Mux puis on coche PLLCLK dans System clock mux.si
la configuration et erroné les cases se colore en rouge dans notre cas la fréquence maximal
et 120MHZ mais avec la configuration qu’on a la fréquence et a 150MHZ. On mettant la
sourie sur une case en rouge le logiciel indique l’erreur. A la sortie du diviseur M (indiquer
par la flèche rouge) la fréquence est égale a :

1MHZ<= Fquartz/M<=2MHZ (imposé par le constructeur)

Pratiquement il vaut mieux configurer le processeur pour travailler avec une fréquence
de multiple de 12MHz surtout si on va utiliser des communications asynchrone car le calcul
de baudrate donnera toujours des valeurs entière à mettre dans les registre. Il faut noter que
le timer travaille à une fréquence double de celle de l’APB qui est connecté sur lui.

MAHER Boumiza Page 8


Formation STM32 startup

IV. Génération de projet


Avant de générer le projet il faut tout d’abord configurer la Platform de développement
qui sera utilisé ainsi le chemin et le nom de projet et cela est fait a partir du Menu projet
puis setting

La fenêtre suivante s’ouvre

On doit préciser le nom et le chemin de projet ainsi que le logiciel de développement.


Puis on click sur generate (roue denté dans la fenêtre principale)

MAHER Boumiza Page 9


Formation STM32 startup

Les fenêtres suivant apparue l’un âpres l’autre

On cliquant sur open Project le projet keil s’ouvre.

NB pour chaque première utilisation d’un processeur le logiciel demande un accès


internet pour télécharger les librairies nécessaires pour générer le projet.

Lors de l’ouverture de keil le volet projet est affiché par défaut

Les fichiers c ainsi que header à utiliser, a ajouter ou a modifier se trouve sous le dossier
Application/User

A Chaque périphériques est attribuer un fichier C dont il contient les fonctions approprié
Les fichier se trouve sous le dossier Driver/STM32F2xx_HAL_Driver

MAHER Boumiza Page 10


Formation STM32 startup

Pour voir les fonctions d’un périphériques on doit sélectionner le volet functions est on
sélectionne le fichier C du périphérique voulut

Les fichiers header des périphériques se trouve sous le dossier application/User/main.c


et ils ne sont affichés qu’après compilation.

MAHER Boumiza Page 11


Formation STM32 startup

Pour chercher la définition d’un paramètre ou fonction on sélectionne la fonction ou le


paramètre dans le fichier C un click droit et on appui sur goto definition

Pour ajouter un fichier c ou header il faut un click droit sur le fichier main.c dans le volet
project et on sélectionne Manage Project Items

MAHER Boumiza Page 12


Formation STM32 startup

Un click sur le bouton add files et on pointe sur le fichier Puis on ajoute un include dans
le fichier main #include « nom_fichier.x » x : peut être C ou h Il faut mettre le fichier
dans le dossier contenant le fichier main.c dont le chemin est ..\dossier_projet\Src

MAHER Boumiza Page 13


Formation STM32 startup

V. Structure de programme générer

Il faut toujours ajouter les lignes de code sous la ligne code begin et avant code end
pour ne pas perdre le code lors d’une régénération (mis a jour) de projet par
STM32CubeMx Ainsi pour les include , les variable et les définitions des fonction

MAHER Boumiza Page 14


Formation STM32 startup

VI. Débogage
Pour compiler il faut cliquer sur build (l’icône centrale dans le rectangle rouge) il
compile que les fichiers modifier et rebuild (celle à droite) compile tous.

Compilation correcte

Dans certain cas la compilation échoue a cause de quelque include introuvable ca revient
qu’il ya un problème lors de mis a jour des librairies de STM32cubeMx.

Pour charger directement le hex dans le STM on appuie sur load(carreau rouge) et pour
configurer le débogage on appui sur la baguette magique (cercle rouge)

L’Onglet target affiche la référence de processeur. il faut régler la fréquence de quartz si


il n’est pas utilisé la fréquence de l’oscillateur interne qui est donné dans l’onglet clock
confguration dans STM32CubeMx

MAHER Boumiza Page 15


Formation STM32 startup

Dans l’onglet debug on doit préciser le débuggeur, (radio bouton USE), cocher Run to
main et on appui sur setting

MAHER Boumiza Page 16


Formation STM32 startup

Le nom de débuggeur apparait et on sélectionne dans le menu déroulant port SW

Dans l’onglet utilities on doit décocher Use Debug Driver sélectionner le debugger
dans Use Target Driver for flash Programming Et on appui sur setting

MAHER Boumiza Page 17


Formation STM32 startup

On coche reset and run puis on appui sur add pour ajouter l’algorithme de
programmation

On sélectionne l’algorithme approprie au processeur et on click sur add.

Pour lancer une session de débogage on appui sur debug, un deuxième appui pour la
terminer

Pour contrôler le déroulement du programme on peut ajouter des points d’arrêt


(breakpoint) à l’instruction voulue. Lorsque on appui sur debug le curseur se positionne
sur la premier instruction dans main

MAHER Boumiza Page 18


Formation STM32 startup

Pour le débogage on utilisera ces icones

RST RUN STOP STEP Step Step Run to


over out cursor

 RST : reset software du micro


 Run : exécution du programme en mode normale il s’arrête à un breakpoint
 Stop : arrêter de l’exécution du programme
 Step : il debuggera la ligne courante si elle est une fonction son code sera déboguer
aussi
 Step over : il exécute la ligne courante est passe a la ligne suivante si la ligne
courante est une fonction Elle ne sera pas debugger il passera directement a la ligne
d’après
 Step out : lorsque on appui sur cette icône le débuggeur passera a la ligne juste
après la fonction Cette icône permet de sortir de la fonction en cour de débogage.
 Run to cursor : Il exécute jusqu'à atteindre le curseur on effet on cliquant sur une
ligne dans la zone de texte le curseur bleu se position la bas on cliquant sur cette
icône le programme s’exécutera jusqu'à que le curseur jaune atteint le curseur bleu.
L’exécution s’arrêtera et on passe au débogage.

Un click dans la Un click sur l’icône


zone de texte run to cursor

MAHER Boumiza Page 19


Formation STM32 startup

Pour visualiser un variable lors de débogage on doit activer la fenêtre watch comme
suit: Menu view-> watch windows >watch1

La fenêtre watch sera a droit en dessous, un double click sur add expression et on ecrit
le nom de la variable qu’on desire visualiser ce dernier doit etre imperativement declarer
comme un variable global les variables local à la fonction ne peuvent pas etre evaluer

MAHER Boumiza Page 20

Vous aimerez peut-être aussi