Trash Fr:Développement de pilotes linux

From ArmadeusWiki
Jump to: navigation, search

Cette page résume tout ce dont vous avez besoin de savoir avant de commencer à développer les pilotes Linux pour votre carte Armadeus.

Lecture recommandée avec de commencer

Nous vous conseillez de lire( pas forcément comprendre ;-) ):

Adding your own drivers

La construction de nos pilotes perso est intégrée au système de construction de Linux (kbuild). Vous pouvez choisir, dans l'outil linux "menuconfig"/"xconfig" ,quels pilotes Armadeux vous souhaitez ajouter à votre cible. (seulementgpio, ppdev & ps2keyboard sont déjà intégrés).

Voici la façon d'ajouter vos propres pilotes:

  • dans armadeus/target/linux/modules/, ajoutez un répertoire pour votre pilote (ex toto/)
  • mettez les références de ce répertoire dans les fichiers armadeus/target/linux/modules/Makefile et armadeus/target/linux/modules/Kconfig
  • dans toto/ mettez les sources de votre pilote et créez 2 fichiers, Kconfig and Makefile. (Utilisez armadeus/target/linux/modules/gpio/Makefile & Kconfig comme exemple.)

Pour compiler les modules, lancez soit:

  • "make" dans le répertoir armadeus/target/linux/modules/

soit

  • "make linux" dans armadeus/

seulement "make linux" installera les modules dans le rootfs de l'image cible

L'accès aux registres de l'i.MX depuis le pilote

Pour accéder aux registres de l'i.MX depuis votre pilote, utilisez svp les macros définies dans:

#include <arch/arm/imx-regs.h>

Par exemple (accédez au registre de contrôle du PWM):

//active le PWM
PWMC |= PWMC_EN;

Debug

Activez les messages de débug (depuis la fonction pr_debug() ) à la console:

# echo 8 > /proc/sys/kernel/printk

Liens utiles