您的位置:首页 > 运维架构 > Linux

LINUX驱动开发: UBUNTU下,比如我写了个.C 驱动文件。 之后我要把它放在哪里,我才能得到.ko文件

2016-10-31 14:02 239 查看
两种方法:

1,直接添加进内核。

a, 比如进入drivers/char/目录,把xxx.c文件拷贝到该目录

b, 修改drivers/char/Kconfig文件,自定义仿照其他选项,添加自己的选项XXX。

c, 修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX)   += xxx.o

d, 进入内核根目录,make menuconfig,进入device drivers->character devices在这里面找到XXX选项,配置成“M”,也就是模块编译,会生成xxx.ko

2,随便建一个目录,写Makefile,这个Makefile里面,要指定内核源码根目录,并调用内核源码的Makefile,来编译当前目录的文件,类似一下格式,可在网上找一个Makefile来修改:

CFILES = xxx.c

DRIVER_NAME = xxxx

KSRC :=  /home/linux/linux-2.6.xxx

TARGET = $(DRIVER_NAME).ko

obj-m += $(DRIVER_NAME).o

$(DRIVER_NAME)-objs := $(CFILES:.c=.o)

default:

      $(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: