我试图编译使用许多依赖(如图书馆)现有的平台内与下面的行外部linux驱动外部的Linux模块:如何构建它使用自定义库
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
我已经注意到这会调用带有创建目标文件的内核Makefile,并执行该链接,以便准备一个可用Linux加载的“模块”.ko。但是,如果有什么,我必须使用特定库(例如my_library.a):我怎么能阻止Linux的makefile文件链接所有对象文件
Appendice:
My_library.a是当考虑到这一额外的库一个C++源代码包含访问FPGA寄存器以便报告一些有用数据的函数。然后,my_driver(因为它是一个C代码源,我必须从my_library.a创建一个C接口)将准备可从用户空间应用程序访问的基本系统调用。底线,my_driver使用8khz从FPGA读取,这要感谢my_library.a,通过C接口并使用户空间APP可读取数据。
干杯, sahbi
什么*确切*是您的'my_library.a'?请修改您的问题以改进它并具体说明。 –
你的模块到底在做什么?你在开发什么样的驱动程序? –
看起来您正在混合用户空间驱动程序与内核空间驱动程序的概念。 – 0andriy