linux下将驱动编译进内核

以字符设备驱动为例:
1、首先将驱动源码拷贝进linux源码目录下的/drivers/char下
2、修改char目录下的Kconfig
在menu "Character devices"下面添加如下内容:

config FS4412_LED
	tristate "FS4412LED Device Support"
	depends onARCH_EXYNOS4
help
		support  leddevice on FS4412develop board

其中config FS4412_LED用在Makefile中的obj-$(CONFIG_FS4412_LED) +=fs4412_led_drv.o
tristate是三个选项,*为编译进内核,m为模块, 空格为不编译
tristate也可以用bool ,则为两个选项,没有模块选项
depends on 表示依赖
help是帮助
3、修改drivers/char/Makefile
在文件最后添加如下代码:

obj-$(CONFIG_FS4412_LED) += fs4412_led_drv.o

4、编译LED驱动到内核中
配置内核时按“空格”选择,配置完成后保存退出

$ make menuconfig
Device Drivers  --->
		Character devices  --->
			<*>FS4412  LED Device Support

保存退出,重新编译后把uImage拷贝到tftpboot下

$ make uImage
$ cp arch/arm/boot/uImage/tftpboot

menuconfig:配置选项菜单文件
.config:执行menuconfig后的实际配置选项文件
Kconfig:是生成menuconfig的源码
Kconfig---->menuconfig—>.config
Kconfig语法:
menu~endmenu:用于生成一个菜单选项
source:用于读取另外一个Kconfig文件内容。类似于C的#include
choice~endchoice:将多个类似的配置选项组合在一起,供用户单选或者多选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值