Difference between revisions of "Tutoriel STM32F4-Discovery 2014"

From air
Jump to navigation Jump to search
 
(5 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-F4 Discovery | STM32-F4-Discovery]]
+
* Carte utlisée et '''prétée''': [[STM32_Discovery#STM32F4-DISCOVERY|STM32-F4-Discovery]]
   
 
== '''A préparer avant le tutoriel'''==
 
== '''A préparer avant le tutoriel'''==
  +
  +
=== Pour tous ===
 
* Pour tout le monde: '''amener un cable USB ‘type A to mini-B’'''
 
* Pour tout le monde: '''amener un cable USB ‘type A to mini-B’'''
* Pour les gens sous '''Windows''' installer l'environnement [http://www.iar.com/en/Service-Center/Downloads/ IAR ARM 6.50v] (il y a 2 versions les sont utilisables).
 
   
*Sous '''Linux et Macosx (à vérifier)''' :
+
=== 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).
   
'''IMPORTANT''' cette partie n'est pas supportée par les personnes des ST, elle est proposée par Olivier Richard @ imag fr
 
   
  +
'''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é.
'''1) Installer''' la suite logicielle de compilation '''[http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/lite/?cmpid=7108&lite=arm&target_os=EABI&target_arch=ARM&returnURL=https%253A%252F%252Fsourcery.mentor.com%252FGNUToolchain%252Frelease1592%253Flite%253Darm%2526cmpid%253D7108 Sourcery] de Mentor Graphic. '''
 
  +
Sur "ubuntu" faire:
   
  +
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
'''2) Installer''' openocd version minimal '''0.6''' :
 
   
  +
sudo apt-get update
wget http://sourceforge.net/projects/openocd/files/openocd/0.6.1/openocd-0.6.1.zip
 
unzip openocd-0.6.1.zip
 
cd openocd-0.6.1
 
./configure --prefix=/usr --enable-maintainer-mode --enable-stlink
 
make
 
sudo make install
 
   
 
sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi
'''Note 1''': Pour la compilation d'OpenOCD
 
 
sudo apt-get install libusb-dev libftdi-dev
 
   
   
  +
'''2) Installer''' openocd , qui permet de charger le programme et de controler la carte lors de mise au point (débogage
'''Note 2''': Si vous êtes sous Debian '''Unstable''': un sudo apt-get install openocd devrait suffir (''' Vérifier la version openocd , option -v''').
 
 
sudo apt-get install openocd
   
'''3) Installer''' ce patron de compilation: [https://github.com/szczys/stm32f0-discovery-basic-template stm32f0-discovery-basic-template], faire
 
   
  +
'''3) Installer''' ce patron de compilation:
wget https://github.com/szczys/stm32f0-discovery-basic-template/archive/master.zip
 
unzip master.zip
 
cd stm32f0-discovery-basic-template-master
 
   
  +
git clone https://github.com/prattmic/stm32f4-templates.git
'''4) Lire le README.md'''
 
   
  +
'''4) Compiler''' l'example :
'''5)''' Compilation de l'exemple src/main.c, dans stm32f0-discovery-basic-template-master faire:
 
   
  +
cd stm32f4-templates
make
 
 
make
   
'''6)''' Chargement dans la mémoire flash du STM32F0
+
'''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"
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