Difference between revisions of "Tutoriel STM32F4-Discovery 2014"

From air
Jump to navigation Jump to search
 
(3 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
* Date: '''10/04/14'''
 
* Date: '''10/04/14'''
 
* Horaire: '''14h00-16h30'''
 
* Horaire: '''14h00-16h30'''
  +
* Organisateur : Olivier Richard
* Présentation: '''Amphi 101'''
+
* Présentation: '''Amphi 001''' @ Polytech Grenoble
 
* Tutoriel : '''Salles 257 et 253'''
 
* Tutoriel : '''Salles 257 et 253'''
  +
   
 
* Carte utlisée et '''prétée''': [[STM32_Discovery#STM32F4-DISCOVERY|STM32-F4-Discovery]]
 
* Carte utlisée et '''prétée''': [[STM32_Discovery#STM32F4-DISCOVERY|STM32-F4-Discovery]]
Line 36: Line 38:
   
   
'''1) Installer''' la suite logicielle de compilation '''gcc-arm-none-eabi - A GNU-based tool chain for arm embedded processors '''
+
'''1) Installer''' la suite logicielle de compilation '''gcc-arm-none-eabi - A GNU-based tool chain for arm embedded processors ''' ainsi que le debogeur associé.
 
Sur "ubuntu" faire:
 
Sur "ubuntu" faire:
   
Line 43: Line 45:
 
sudo apt-get update
 
sudo apt-get update
   
sudo apt-get install gcc-arm-none-eabi
+
sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi
   
   
'''2) Installer''' openocd :
+
'''2) Installer''' openocd , qui permet de charger le programme et de controler la carte lors de mise au point (débogage
 
 
sudo apt-get install openocd
 
sudo apt-get install openocd
   
   
'''3) Installer''' ce patron de compilation: '''A compléter'''
+
'''3) Installer''' ce patron de compilation:
  +
  +
git clone https://github.com/prattmic/stm32f4-templates.git
  +
  +
'''4) Compiler''' l'example :
  +
  +
cd stm32f4-templates
 
make
   
 
'''5)''' Chargement dans la mémoire flash du STM32F4 avec openocd (le programme est '''main.hex''')
''A compléter'''
 
   
  +
openocd -f board/stm32f4discovery.cfg -c "init" -c "reset init" -c "flash write_image erase main.hex" -c "reset" -c "shutdown"
'''6)''' Chargement dans la mémoire flash du STM32F4
 
''A compléter'''
 
make program
 
   
   

Latest revision as of 15:00, 2 June 2014

Information pratiques

  • Date: 10/04/14
  • Horaire: 14h00-16h30
  • Organisateur : Olivier Richard
  • Présentation: Amphi 001 @ Polytech Grenoble
  • Tutoriel : Salles 257 et 253


A préparer avant le tutoriel

Pour tous

  • Pour tout le monde: amener un cable USB ‘type A to mini-B’

Sous Windows

Installer la version EWARM 7.1 d'essai utilisable 30 jours sans limitation est téléchargeable depuis : [ http://www.iar.com/Products/IAR-Embedded-Workbench/ARM/IAR-Embedded-Workbench-for-ARM-Cortex-M/ ]

Procédure :

  • Cliquer sur download puis download software sur la fenêtre suivante.
  • Sauvegarder le fichier dans un répertoire temporaire puis le démarrer.
  • Lorsque la fenêtre IAR Embedded Workbench est visible cliquer sur Install IAR Embedded Workbench.
  • Installer également les driver USB dongle en vérifiant avant qu'AUCUN dongle USB n'est connecté au PC (pas de Discovery connecté)
  • Lorsque l'installation est terminée, la toolchain est utilisable 30 jours.

Attention: : le fichier à télécharger est gros, environ 700 Mo.

Sous Linux (Ubuntu/Debian)  :

IMPORTANT cette partie n'est pas supportée par les personnes des ST, elle est proposée par Olivier Richard @ imag fr (n'hésitez à me contacter si problème d'installation).


1) Installer la suite logicielle de compilation gcc-arm-none-eabi - A GNU-based tool chain for arm embedded processors ainsi que le debogeur associé. Sur "ubuntu" faire:

 sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
 sudo apt-get update
 sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi


2) Installer openocd , qui permet de charger le programme et de controler la carte lors de mise au point (débogage

 sudo apt-get install openocd


3) Installer ce patron de compilation:

 git clone https://github.com/prattmic/stm32f4-templates.git

4) Compiler l'example :

 cd stm32f4-templates
 make 

5) Chargement dans la mémoire flash du STM32F4 avec openocd (le programme est main.hex)

  openocd -f board/stm32f4discovery.cfg  -c "init" -c "reset init" -c "flash write_image erase main.hex" -c "reset" -c "shutdown"


Pour le debug on chip voir beginners-look-at-on-chip-debugging

Divers