Premiers pas avec un processeur ARM

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

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.

Liste des pièces
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