Je suis en train de compiler un pilote linux externe avec la ligne ci-dessous dans une plate-forme existante en utilisant de nombreuses dépendances (comme les bibliothèques):Comment construire un module linux externe qui utilise une bibliothèque personnalisée
obj-m += mydriver.o
KDIR ?= $(OUT_DIR)
default:
$(MAKE) -C $(KDIR) M=$$PWD
clean:
$(MAKE) -C $(KDIR) M=$$PWD clean
modules:
$(MAKE) -C $(KDIR) M=$$PWD modules
I J'ai remarqué que cela invoque le noyau Makefile avec crée des fichiers objets et fait le lien afin de préparer un "module" .ko chargeable avec linux. Mais si, je dois utiliser une bibliothèque spécifique (par exemple my_library.a.): Comment puis-je empêcher le makefile Linux de prendre en compte cette bibliothèque supplémentaire lors de la liaison tous les fichiers objet
Appendice:
My_library.a est un code source C++ contient des fonctions qui accèdent aux registres FPGA afin de rapporter quelques données utiles. Puis my_driver (puisqu'il s'agit d'une source de code C, j'ai dû créer une interface C à partir de my_library.a) préparera les appels système de base accessibles à partir d'une application d'espace utilisateur. En bas de la ligne, my_driver lit à partir de FPGA avec 8khz, grâce à my_library.a via une interface C et rend les données lisibles pour l'espace utilisateur APP.
Cheers, Sahbi
Que * exactement * est votre 'my_library.a'? Veuillez éditer votre question pour l'améliorer et être spécifique. –
Et que fait exactement votre module? Quel genre de pilote développez-vous? –
Il semble que vous mélangez des concepts de pilotes d'espace utilisateur et d'espace noyau. – 0andriy