Premiers pas avec un processeur ARM
Sommaire
Description
Ce qui suit est un tutoriel afin de compiler et installer dans un processeur ARM un programme de base en C. Le projet est d'installer le minimum de logiciel pour avoir le contrôle des outils.
Matériel
Le choix du processeur s'est porté sur un NXP LPC1769. Celui-ci offre de nombreuses possibilités (USB, Ethernet, I2C …) et ce qui a fait la différence dans le choix est la clarté de la feuille de caractéristique (Datasheet). La plaque LPCXpresso 1769 de chez Embedded Artists correspondait à mes attentes. Elle est composée de deux parties sécables, un programmateur et le processeur avec très peu d'électronique autour.
Qtt | Nom | Valeur | Référence Fabricant | Fabricant | Référence Fournisseur | Fournisseur |
---|---|---|---|---|---|---|
1 | LPC1769 LPCXpresso | EA-XPR-003 | Embedded Artists | 924-EA-XPR-003 | Mouser | |
1 | Émulateurs / Simulateurs J-LINK EDU | J-LINK EDU | Segger Microcontroller | 943-8.08.90 | Mouser | |
1 | Connecteur de nappe | 20 cts | 1658621-4 | TE Connectivity | 571-1658621-4 | Mouser |
1 | Nappe | 20 cts | Récupération | |||
1 | Connecteur mâle | 16 cts | 929400-01-16-RK | 3M | 517-929400-01-16-RK | Mouser |
1 | Embase femelle | 16 cts | 929850-01-16-RA | 3M | 517-929850-01-16-RA | Mouser |
J'ai suivi ce tutoriel très bien fait pour connecter le programmateur à l'extension de la plaque :
LPCXpresso LPC1769 commandline Development on Mac OS X
Marche à suivre pour MacOSX
Avant d'installer quoique ce soit, nous allons créer un répertoire de travail. Dans un terminal taper :
mkdir ~/ARM
Installation du compilateur
Télécharger la dernière version du compilateur : https://launchpad.net/gcc-arm-embedded/+download
Déplacer le dossier une fois décompressé dans le dossier ~/ARM
Renommer le dossier en gcc-arm pour plus de simplicité. Pour vérifier que tout est en place, taper :
~/ARM/gcc-arm/bin/arm-none-eabi-gcc --version
Un message de réponse est de la forme :
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140526 (release) [ARM/embedded-4_8-branch revision 211358] Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Installation du pilote du J-Link
Il faut télécharger le logiciel et la documentation sur le site SEGGER : http://www.segger.com/jlink-software.html Installer le paquet en double-cliquant dessus. Les éléments sont dans le dossier Applications. Pour démarrer le serveur GDB. Dans un terminal taper :
/Applications/SEGGER/JLink/JLinkGDBServer
Compilation du projet
Ouvrir une autre fenêtre de terminal, taper :
cd ~/ARM mkdir Projets
Télécharger l'archive suivante : Fichier:TestARM.zip
Et copier le fichier décompressé dans le répertoire ARM/Projets qui vient d'être créé
Dans un terminal :
cd ~/ARM/Projets/TestARM make
Le projet est maintenant compilé, pour le transférer dans le micro-contrôleur taper :
make gdb
La LED2 doit être allumée et elle doit s'éteindre quand on relie le PIN 7 de la plaque à la masse.
Remarques
Pour quitter gdb :
quit
Pour arrêter le serveur :
Ctrl - C
Pour comprendre les commandes GDB avec la version de SEGGER du déboggueur :
http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf
Pour Linux
Installation du compilateur
Télécharger la dernière archive (actuellement : gcc-arm-none-eabi-4_8-2014q2-20140609-linux.tar.bz2) :
http://launchpad.net/gcc-arm-embedded/+download
Dans un terminal :
cd /usr/local sudo tar xjf ~/Téléchargements/gcc-arm-none-eabi-4_8-2014q2-20140609-linux.tar.bz2
Un répertoire a été créé de la forme : /usr/local/gcc-arm-none-eabi-4_8-2014q2
Afin de vérifier que tout est bien installé taper :
/usr/local/gcc-arm-none-eabi-4_8-2014q2/bin/arm-none-eabi-gcc --version
La réponse du compilateur :
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140526 (release) [ARM/embedded-4_8-branch revision 211358] Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Il faut télécharger le logiciel et la documentation sur le site SEGGER : http://www.segger.com/jlink-software.html Il est nécessaire d'entrer le numéro de série du débuggeur J-Link qui se situe au dos de celui-ci.
Après avoir décompressé le fichier, créer un dossier ARM et copier le dossier JLink dans celui-ci.
Ensuite, télécharger l'archive suivante : Fichier:TestARM.zip
La décompresser et copier là dans le répertoire ~/ARM précédemment créé.
Références
http://haseebsohail.files.wordpress.com/2013/02/definitive-guide-to-arm-cortex-m3-2nd-edition.pdf