在linux内核驱动树中添加自己的驱动
例如在linux-2.6.x.x/drivers/char中添加驱动目录lzp_iic
1、在linux-2.6.x.x/drivers/char目录下添加lzp_iic目录,并在lzp_iic目录添加Kconfig和Makefile
/*******************Kconfig 内容******************************************/
#
# AT24C02A device configuration
#
#用menuconfig建一个菜单项LZP_IIC,显示的字符是tristate后面跟的字符串
menuconfig LZP_IIC
tristate "lzp AT24C02A IIC EEPROM Support"
#depends on HAS_IOMEM
#depends on EXPERIMENTAL
#判断LZP_IIC菜单项是否被选中,选中则显示具体的驱动项
if LZP_IIC
#具体的驱动项LZP_AT24C02A,依赖于ARCH_S3C2440
config LZP_AT24C02A
tristate "lzp AT24C02A driver"
depends on ARCH_S3C2440
---help---
liuzhiping first linux driver for AT24C02A use iic interface.
endif # LZP_IIC
/*******************Kconfig end******************************************/
/*******************Makefile 内容******************************************/
#
# Makefile for the kernel AT24C02A iic drivers.
#
obj-$(CONFIG_LZP_AT24C02A) += lzp_iic.o
/*******************Makefile end******************************************/
2、定位到linux-2.6.x.x/drivers/char,编辑Kconfig和Makefile
/*******************Kconfig 内容******************************************/
menu "Character devices"
...
...
#添加如下命令
source "drivers/char/lzp_iic/Kconfig"
...
...
endmenu
/*******************Kconfig end******************************************/
/*******************Makefile 内容******************************************/
...
...
#在添加.o文件的部分添加如下命令
obj-$(CONFIG_LZP_IIC) += lzp_iic/
...
...
/*******************Makefile end******************************************/
3、配置编译驱动
#选中lzp_iic驱动为模块
make menuconfig
#编译lzp_iic驱动,得到lzp_iic.ko
make SUBDIR=drivers/char/lzp_iic modules
小提示:
用SlickEdit编辑代码时,要保存为如下格式
UNIX format
UTF-8 no signature
格式,否则编译会出错
4、登录开发板,测试驱动,
#加载NFS文件系统
mount -t nfs -o nolock 192.168.0.5:/ /mnt/debian
#拷贝NFS服务器上的驱动模块到开发板的/lib目录
cp /mnt/debian/home/transistor/Desktop/lzp_iic.ko /lib/
#加载驱动
insmod /lib/lzp_iic.ko
#卸载驱动
rmmod /lib/lzp_iic.ko
至此一个驱动模块就添加完成了。
系统:debian 5.0.7
编辑器:SlickEdit
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(412) | 评论(0) | 转发(1) |
上一篇:debian下启动telnet服务
下一篇:windows ssh登录debian
- unknown symbols in module
- 修改gem源
- 腾讯手机QQ常见问题解答...
- 山东省以72
- 台湾兴霖食品下架回收的三种菠...
- linux 常见服务端口
- 【ROOTFS搭建】busybox的httpd...
- 什么是shell
- linux socket的bug??
- linux的线程是否受到了保护?...
- 修改默认端口为222,centos自...
- 用PHP做一个ftp登录页面...
- Toad for Oracle工具,为什么在...
- 本地win7安装vmw9系统winserv...
- powermt config是所什么用的...