Mise en place de l'environnement ARM pour l'ALM

By Pierre BELABBES RICM3 Polytech

Installation ARM

  1. Télécharger les archives
  2. Installer les librairies
  3. Dezziper les archives
  4. Compiler .envarm
  5. Vérifier l'installation

Pour aller plus loin

  1. Créer un alias pour setenvarm.sh
  2. Exécuter setenvarm.sh automatiquement

1. Télécharger les archives

Il y a deux archives à télécharger pour mettre en place l'environnement ARM.

Télécharger donc :

2. Installer les librairies

Pour installer les librairies, il vous suffit de taper les commandes suivantes :

sudo apt-get install openocd
sudo apt-get install ddd

Ces librairies permettront de débbugger nos codes.

3. Dezziper les archives

Nous allons dezziper les archives puis les déplacer dans le bon répertoire

tar -xf ~/Téléchargements/arm-linux\ 2015.tar
tar -xzf ~/Téléchargements/envarm.tgz

Une fois dézzipé, nous devons placer nos répertoires aux bons endroits

sudo cp -rf ~/Téléchargement/opt/gnu /opt/.

Nous ne pouvons pas écrire dans le répértoire /opt sans être administrateur, d'où le sudo.
Pour copier tous un dossier il faut mettre une option de récursivité (-r) et forcer ce choix (-f)

Nous copions de la même manière .envarm

cp -rf ~/Téléchargement/.envarm ~/.

Comme tous les dossiers/fichiers commençant par un '.', envarm est caché, pour le voir dans votre dossier Home(~), il faudra taper la commande

ls -al

4. Compiler .envarm

Pour compiler .envarm, il suffit de vous rendre dans le dossier .envarm.

cd ~/.envarm

Et d'effectuer la commande make

make 

5. Vérifier l'installation

Pour vérifier que l'installation s'est bien passée, vous devez effectuer la commande suivante

source ~/.envarm/setenvarm.sh

Cette commande permet de mettre en place l'environnement, vous devrez le faire à chaque ouverture de terminal pour pouvoir compiler de l'ARM.

La commande doit vous afficher ceci :

Environment variables defined :
ARM_PREFIX=/opt/gnu/arm/bin/arm-eabi-
ARM_GDBDIR=/opt/gnu/arm/bin
ARM_RUN_COMMAND=/opt/gnu/arm/bin/arm-eabi-run
ARM_AR=/opt/gnu/arm/bin/arm-eabi-ar
ARM_AS=/opt/gnu/arm/bin/arm-eabi-as --gdwarf2
ARM_GDB_COMMAND=/opt/gnu/arm/bin/arm-eabi-gdb
ARM_STRIP=/opt/gnu/arm/bin/arm-eabi-strip
ARM_ENVDIR=/home/pierrebelabbes/.envarm
ARM_OBJDUMP=/opt/gnu/arm/bin/arm-eabi-objdump
ARMTOOLS_DIR=/opt/gnu/arm
ARM_READELF=/opt/gnu/arm/bin/arm-eabi-readelf
E7T_OPENOCD_COMMAND=/usr/bin/openocd
E7T_GCC=/opt/gnu/arm/bin/arm-eabi-gcc -specs=/home/pierrebelabbes/.envarm/e7tspecs -Xlinker /home/pierrebelabbes/.envarm/e7tldscript -Wall -gdwarf-2 -static
E7T_LD=/opt/gnu/arm/bin/arm-eabi-ld /home/pierrebelabbes/.envarm/e7tldscript    
SIM_GCC=/opt/gnu/arm/bin/arm-eabi-gcc -Wall -gdwarf-2
SIM_GPP=/opt/gnu/arm/bin/arm-eabi-g++ -Wall -gdwarf-2
SIM_LD=/opt/gnu/arm/bin/arm-eabi-ld


Specific commands for evaluator card :
e7tgcc e7tld e7tgdb e7tddd

Specific ommands for simulator :
simgcc simld simgdb simddd armrun simg++

Other commands :
armas armreadelf armobjdump armar

Si ce n'est pas le cas, revérifié toutes les étapes.

6. Créer un alias pour setenvarm.sh

Pour éviter d'avoir à taper toute la commande

source ~/.envarm/setenvarm.sh

Vous pouvez créer un alias avec la commande

alias setenvarm='source ~/.envarm/setenvarm.sh'

Le problème est que, comme toutes les variables d'environnement, l'alias disparaît à la fermeture du terminal. Il faut donc que l'alias se crée à chaque ouverture. Pour cela, il existe un fichier caché dans Home(~) : .bashrc. Celui-ci est un script bash qui est exécuté à chaque démarrage.

Ouvrer .bashrc avec votre éditeur préféré :

gedit ~/.bashrc

Et ajouter la ligne de création d'alias à la fin du fichier. Sauvegarder et fermer votre terminal.

Lorsque vous lancerez à nouveau le terminal et que vous taperez setenvarm c'est 'source ~/.envarm/setenvarm.sh' qui sera exécuté.

7. Executer setenvarm.sh automatiquement

Avec .bashrc, il est aussi possible d'exécuter directement le script setenvarm.sh à chaque ouverture du terminal.
Pour cela même principe que pour l'alias sauf que cette fois-ci, vous mettez directement la commande :

source ~/.envarm/setenvarm.sh
Comments powered by Disqus