Revision 1 as of 2006-12-22 17:13:56

Clear message

Utilisation minimaliste et cahotique de la maquette.

Connecter la maquette par liaison serie avec le programme "minicom" La configuration doit être: {{{# Machine-generated file - use "minicom -s" to change parameters. pu port /dev/ttyS0 pu baudrate 115200 pu bits 8 pu parity N pu stopbits 1 pu rtscts No }}}

Connecter la maquette sur éthernet.

Configurer le réseau sur la maquette :

# ifconfig eth0 137.194.66.1 netmask 255.255.252.0

/!\ Une seule addresse est disponible donc pour le moment une seule maquette peut utiliser cette configuration...

Télécharger une version "fonctionnelle" de gdbserver sur la maquette.

# cd /usr
# mkdir mybin
# cd mybin
# tftp 137.194.64.58
tftp> get arm/gdbserver
tftp> exit
# chmod +x gdbserver

Compilation d'un source en C sur le PC

PC$ arm-elf-gcc -Wall -g  -Wl,-elf2flt -Os -o hello hello.c -lc

Cela crée l'executable "hello" pour la maquette et la version "hello.gdb" pour le debug

Transfert de l'executable depuis le PC sur le serveur tftp de vega

PC$ tftp vega.enst.fr
tftp> put up/hello
tftp> exit

Récupération de l'executable par la maquette

# tftp 137.194.64.58
tftp> get up/hello
tftp> exit
# chmod +x hello

Lancement de gdbserver sur la maquette (il faut récupérer l'adresse ip du PC)

# /usr/mybin/gdbserver <mon-adresse-ip-de-mon-pc>:9999 hello

Lancement du debugger sur le PC

PC$ arm_elf_insight

Ensuite configurer arm_elf_insight pour

Et c'est parti. Atentiongdbserver sort à chaque fois que le programme débuggé est fini, il ne faut pas oubliez de mettre des breakpoint par défaut au début de main et à exit. Il faut toujours conserver les deux fenêtres pour pouvoir relancer gdbserver