Trash Fr:Débogage Linux
- Conseils pour déboguer sous linux **
Contents
Introduction
Sur cette page, vous trouverez des informations utiles au débogage d'Armadeus sous Linux
En testant votre noyau linux personnalisé avant de le flasher
Vous pouvez tester un noyau linux que vous venez de générer sans avoir à le reflasher à votre carte et détruire votre image actuelle qui marche. En effet, les images des noyaux Linux peuvent etre chargées et dépuis la SDRAM avec U-Boot:
BIOS> tftp 8000000 linux-kernel-2.6.16-arm.bin BIOS> bootm 8000000
En changeant les resistres du processeur depuis l'espace utilisateur de Linux avec imxregs
Cet outil vous autorise à accéder au registres de l'i.MXL depuis l'espace utilisateur/console de linux.De cette façon, vous déboguez votre pilote ou accédez aux fonctionnalités matérielles de l'i.MXL directement depuis la console linux.
Premièrement, vous devez activer cet outil dans Buildroot Buildroot (sélectio nde paquet pour la cible):
$ make menuconfig
Une fois accompli, compilez-le:
$ make
Le fichier généré est placé dans buildroot/build_arm_nofpu/imxregs-1.0/. Maintenant vous pouvez le copier dans votre cible.
Pour l'utiliser, vous devez vider les registres PAR 1&2 (droits d'accès aux registres) avant de lancer le noyau Linux. Alors dans U-Boot, tapez:
BIOS> mw.l 0x00200008 0 BIOS> mw.l 0x00210008 0
Si vous l'utilisez fréquemment, vous pouvez définir un petit script dans U-Boot:
BIOS> setenv unlock_regs mw.l 0x00200008 0\; mw.l 0x00210008 0 BIOS> saveenv
et l'appeler comme ceci avant de lancer votre noyau
BIOS> run unlock_regs
Ensuite sous linux, lancer imxregs comme suit:
# imxregs REGISTER_NAME (donnez lui le nom du registre comme défini dans le manuel de référence de l'i.MXL ou jsute le début du nom)
ou
# imxregs (pour vider tous les registres supportés)
Exemples:
Montre les registres OCR1 de chaque port GPIO:
# imxregs OCR1
Ecrit 123 au registre OCR1_D ;
# imxregs OCR1_D 123
En changeant les registres des IP du FPGA depuis l'espace utilisateur de Linux avec fpgaregs
Cet outil vous autorise à accéder aux registres du FPGA depuis l'espaceutilisateur/console de Linux. Ainsi, vous pouvez aisément déboguer votre pilote directement depuis la console Linux
Tout d'abordn vous devez activer cet outil dans Buildroot (sélection de paquets pour la cible):
$ make menuconfig
Une fois fait, compilez le:
$ make
Le fichier généré est placé dans buildroot/build_arm_nofpu/fpgaregs-1.0/. Maintenant, vous pouvez le copier sur votre cible. Ensuite sous linux, lancez-le comme suit:
# fpgaregs address (pour lire) ou fpga address value (pour écrire)
Exemples:
Montre le registre à l'adresse interne au FPGA 0x0010:
# fpgaregs 10
Ecrit 0x0123 au registre du FPGA 0x0020:
# fpgaregs 20 0123