IHMA : Interactions Humain-Machine Avancées
Avant de commencer vous avez besoin d'installer plusieurs choses, si elles ne le sont pas déjà :

Toolchain ARM embedded

La toolchain gcc pour processeurs ARM (compilateur, débugger, etc.) est composée de

gcc-arm-none-eabi
,
binutils-arm-none-eabi
et
gdb-arm-none-eabi
.

Sous Linux les paquets
gcc-arm-none-eabi
,
gdb-arm-none-eabi
et
binutils-arm-none-eabi
sont disponibles sous Ubuntu depuis la version 14.04 (trusty) et sous Debian depuis la version jessie. Pour les autres versions, téléchargez la version tarball linux sur la page officielle et décompressez l'archive dans
/usr
:
tar -xf arm-gnu-toolchain-XX.X.XXX-x86_64-arm-none-eabi.tar.xz -C /usr --strip-components=1
Le paquet
gdb-arm-none-eabi
sur Ubuntu pose un problème d'installation : il y a un conflit avec
gdb
au niveau de la page de man. Si vous n'avez pas les droits pour installer le package, copiez simplement le fichier
arm-none-eabi-gdb
dans votre répertoire de travail.
Sous Mac, vous pouvez installer la toolchain avec Homebrew avec la commande
brew install --cask gcc-arm-embedded
. N'installez pas la version Macports. À ce jour (en 2014) la version Macports permet de compiler des programmes, mais il y a des soucis avec l'architecture. Téléchargez la version tarball linux sur la page officielle et décompressez l'archive dans
/usr
:
tar -xf arm-gnu-toolchain-XX.X.XXX-darwin-x86_64-arm-none-eabi.tar.xz -C /usr --strip-components=1
Sous Windows téléchargez l'installeur sur la page officielle et exécutez le. Je ne garantis pas que vous arriverez à faire fonctionner la toolchain sur Windows, je ne l'ai jamais utilisée.

OpenOCD

openocd
est un outil de programmation et de débuggage de micro-contrôleurs. Il faut lancer la commande dans un terminal, et gdb se connectera à lui pour communiquer avec la carte. C'est un serveur, il doit rester lancé. Si vous débranchez la carte, vous devrez relancer OpenOCD.

Sous Linux le paquet
openocd
est disponible sur Ubuntu depuis la version 14.04 (trusty) et sous Debian depuis la version squeeze. Pour les autres versions, téléchargez les sources et compilez les à vos risques et périls.
Sous Mac, le paquet
openocd
est disponible avec Macports, homebrew et fink. À ce jour (en 2014), la version Macports pose des soucis de communication avec le stm32f4 discovery. Si vous cherchez les ennuis, essayez de compiler les sources.
Sous Windows téléchargez l'installeur sur la page de Freddie Chopin et exécutez le. Sinon, votre bravoure peut vous pousser à essayer de compiler les sources.

uC-SDK

uC-sdk
est le SDK que nous allons utiliser pour programmer la carte. Ce SDK vise à simplifier le codage pour microcontrôleurs en proposant une interface unique. Il est disponible sur github. Vous pouvez cloner le dépôt, ou récupérer la version archive. Il est déjà inclus comme submodule dans le repository de squelette de TP.