d'analyser et de traduire les fichiers sources en code assembleur correspondant à la cible.
* Le backe... d'augmenter la lisibilité et la maintenabilité du code. Le préprocesseur, appelé cpp (C PreProcessor) tr... peut être révélé avec l'argument **-E** de gcc:
<code c>
/*
#########################################
#... carre.\n", nb, carre(nb) );
return 0;
}
</code>
<code bash>
gcc -E hello.c
</code>
<code c>
#
ttp://kegel.com/crosstool/crosstool-0.43.tar.gz
<code bash>
yoann@hermes:~$ cd /tmp/
yoann@hermes:/tmp$... opt/
yoann@hermes:/tmp$ cd /opt/crosstool-0.43/
</code>
===== Structure de l'outil =====
Les scripts n... ichier de demo que l'on va légèrement modifier.
<code bash>
yoann@hermes:/opt/crosstool-0.43$ cp demo-a... n@hermes:/opt/crosstool-0.43$ vi my-demo-arm.sh
</code>
Modifier la valeur de la variable **RESULT_TOP*
même système hôte et déffectuer des débogages de code système.
* Emulation en mode utilisateur. Dans ... art des distributions proposent l'émulateur qemu
<code bash>
yoann@hermes:~$ sudo apt-get install qemu qemu-kvm-extras
</code>
Sinon, cloner le dépot git du projet, et à part... ?**'' permet de lister les machines disponibles.
<code bash>
yoann@hermes:~$ qemu-system-arm -M ?
</code
Pour compiler un débogueur gdb croisé pour ARM:
<code bash>
./configure --target=arm-linux --program-prefix=arm-linux-
</code>
==== Compilation de gdbserver =====
gdbserver e... Cx86 gdbserver pour qu'il s'exécute sur un ARM:
<code bash>
./configure --build=i686-pc-linux-gnu --host=arm-linux
</code>
===== Sources =====
* Linux embarqué, Pierre