Linux下驱动模块化编译与装载、卸载

Linux下驱动模块化编译与装载、卸载
我们在修改完驱动后,如果每次都需要重新编译内核烧录的话,太过麻烦了,我们可以通过NFS来挂载根文件系统、然后驱动程序单独编译,再将.ko文件copy到根文件系统,动态装载上去的方式,来减少这种麻烦。具体方法我们看下面。
  1. 我们将驱动源程序文件单独放到一个文件夹,然后新建一个Makefile文件,编辑输入类似于如下的内容,这是mini2440 LCD背光驱动的Makefile。
ifeq ($(KERNELRELEASE),)
# KERNELDIR ?= /your/target/source/directory/
KERNELDIR ?=/home/eurphan/learn/arm9learn/kernel/linux-3.18.108
PWD := $(shell pwd)
modules:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
	rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
    obj-m := mini2440_backlight.o
endif

在上面的源码中,KERNELDIR是你的内核源码目录,因为驱动需要使用内核的头文件和链接库,因此是需要指定驱动装载内核相应的源码目录的。obj-m后面的就是驱动源码所生成的.o文件了,生成多个文件的需要在这里全部添加上去。</

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值