如何将驱动编译进入内核

如何将驱动编译进入内核

当你以模块的形式编译模块并且能够达到预想的效果,那么这样就可将模块编译到内核了,将模块编译到内核是很简单的。

第一、 进入linux-2.6.30.9/drivers文件夹,在文件夹中建立一个文件夹(名字可以和驱动的文件名一致)char_led

第二、 将能够实现预想效果的驱动文件char_led.c复制到此文件夹char_led文件夹下

第三、 在char_led文件夹下建立一个以Makefile文件名命名的文件,在该文件中添加如下的代码:

#

# Makefile for the Linux kernel device drivers.

#

obj-y := char_led.o

$(obj)/defkeymap.c: $(obj)/%.c: $(src)/%.map

loadkeys --mktable $< > $@.tmp

sed -e 's/^static *//' $@.tmp > $@

rm $@.tmp

#只有如下的代码也是可以

#obj-y := char_led.o

#all:

# arm-linux-gcc -o char_led.o char_led.c

注意:当你的驱动文件名不是char_led时,那么代码中所有的char_led要替换成你编写的不带文件后缀的文件名。中间几行代码从别的目录中的Makefile中复制过来的,当然里面的功能很多,但是里面有一个功能就是将此目录下所有的以.c文件结尾的文件编译成.o文件。

第四、 进入上一级目录(即linux-2.6.30.9/drivers目录),打开此目录下的Makefile文件,在最后一行加入如下代码,

obj-y += char_led/

注意:如果你的驱动文件名不是char_led,那么你因该修改此行代码中的char_led

点击保存,那么工作就完成了。下面的工作就make一下吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值