Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101912
  • 博文数量: 31
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-18 11:29
文章分类

全部博文(31)

文章存档

2011年(1)

2010年(1)

2009年(2)

2008年(27)

我的朋友

分类: LINUX

2008-05-08 09:55:12

 面以添加一个字符设备为例,说明添加设备驱动的过程.块设备与网络设备可以比照处理.
 .原文件放在 linux-2.4.x/driver/char/ ;本例中,名为xyz.c

 .设备驱动原文件必须包括这样的一个函数:
 oid xyz_init(void){register(254, 'xyz', &xyz_fops)} 这个函数完成注册.在linux-2.4.x/driver/mem.c 将会调用它.
 个函数也可以写成:
 oid __init xyz_init(void){register(254, 'xyz', &xyz_fops)} 这样不必须在 linux-2.4.x/driver/mem.c 调用它

 .修改 linux-2.4.x/driver/char/Makefile 在适当位置添加一行:
 bj_$(CONFIG_XYZ) += xyz.o

 .修改linux-2.4.x/driver/char/Config.in, 添加一行:
 ool 'xyz hahahaha' CONFIG_XYZ
 于在 make menuconfig 时选择

 .修改linux-2.4.x/driver/char/mem.c
 适当位置(你去找就会发现,在文件头部)添加:
 ifdef CONFIG_XYZ
 xtern void xyz_init(void);
 endif
 chr_dev_init()函数添加:
 ifdef CONFIG_XYZ
 yz_init();
 endif
 . 修改vendor/Samsung/4510b/Makefile ,建立设备节点;
 12---35行间,DEVICE 部分添加 如下内容
 zy,c,254,0

 .make menuconfig 选中 xyz hahahaha,
编译,下载;启动后你会看到 /proc/devices 中字符设备多了一项 xyz 254

阅读(676) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~