在uclinux添加设备驱动的完整过程(ZT)
2007-01-23 21:22
369 查看
下面以添加一个字符设备为例,说明添加设备驱动的过程.块设备与网络设备可以比照处理.
1.原文件放在 linux-2.4.x/driver/char/ ;本例中,名为xyz.c
2.设备驱动原文件必须包括这样的一个函数:
void xyz_init(void){register(254, 'xyz', &xyz_fops)} 这个函数完成注册.在linux-2.4.x/driver/mem.c 将会调用它.
这个函数也可以写成:
void __init xyz_init(void){register(254, 'xyz', &xyz_fops)} 这样不必须在 linux-2.4.x/driver/mem.c 调用它
3.修改 linux-2.4.x/driver/char/Makefile 在适当位置添加一行:
obj_$(CONFIG_XYZ) += xyz.o
4.修改linux-2.4.x/driver/char/Config.in, 添加一行:
bool 'xyz hahahaha' CONFIG_XYZ
便于在 make menuconfig 时选择
5.修改linux-2.4.x/driver/char/mem.c
在适当位置(你去找就会发现,在文件头部)添加:
#ifdef CONFIG_XYZ
extern void xyz_init(void);
#endif
在chr_dev_init()函数添加:
#ifdef CONFIG_XYZ
xyz_init();
#endif
6. 修改vendor/Samsung/4510b/Makefile ,建立设备节点;
在12---35行间,DEVICE 部分添加 如下内容
xzy,c,254,0
7.make menuconfig 选中 xyz hahahaha,
编译,下载;启动后你会看到 /proc/devices 中字符设备多了一项 xyz 254
1.原文件放在 linux-2.4.x/driver/char/ ;本例中,名为xyz.c
2.设备驱动原文件必须包括这样的一个函数:
void xyz_init(void){register(254, 'xyz', &xyz_fops)} 这个函数完成注册.在linux-2.4.x/driver/mem.c 将会调用它.
这个函数也可以写成:
void __init xyz_init(void){register(254, 'xyz', &xyz_fops)} 这样不必须在 linux-2.4.x/driver/mem.c 调用它
3.修改 linux-2.4.x/driver/char/Makefile 在适当位置添加一行:
obj_$(CONFIG_XYZ) += xyz.o
4.修改linux-2.4.x/driver/char/Config.in, 添加一行:
bool 'xyz hahahaha' CONFIG_XYZ
便于在 make menuconfig 时选择
5.修改linux-2.4.x/driver/char/mem.c
在适当位置(你去找就会发现,在文件头部)添加:
#ifdef CONFIG_XYZ
extern void xyz_init(void);
#endif
在chr_dev_init()函数添加:
#ifdef CONFIG_XYZ
xyz_init();
#endif
6. 修改vendor/Samsung/4510b/Makefile ,建立设备节点;
在12---35行间,DEVICE 部分添加 如下内容
xzy,c,254,0
7.make menuconfig 选中 xyz hahahaha,
编译,下载;启动后你会看到 /proc/devices 中字符设备多了一项 xyz 254
相关文章推荐
- uclinux添加设备驱动的完整过程
- 在uclinux添加设备驱动的完整过程
- Linux驱动之mipi接口的LCD设备添加过程
- Linux之设备驱动学习简过程<三>(不断添加中)
- 向内核里面添加触摸屏驱动(方法适合其他设备)[zt]
- 完整的IIC总线驱动和设备驱动装载过程
- zedboard--基于demo系统的用户ip核的添加和驱动编写(书13.2完整实现过程)(二十一)
- 关于设备模型、设备与驱动关联的全过程分析
- 即插即用型设备驱动的加载过程
- Linux的USB-Serial驱动(从系统初始化到生成tty设备的全过程)
- 备忘--添加IIC设备的过程
- 字符设备驱动0:一个简单但完整的字符设备驱动程序
- Linux PowerPC I2C驱动 之 I2C设备层的注册过程
- Linux Kernel设备驱动模型之总线添加驱动
- [OpenSolaris][kernel]Solaris内核加载设备驱动过程
- Xen前后端分离设备驱动模型通信过程分析(包括事件通道、授权表、环缓冲区)
- 字符设备驱动 创建类 在类下创建设备过程
- linux驱动入门-hello设备驱动程序编写及内核的更新(网卡的添加)
- VxWorks Torando2.2 RTL81X9网卡驱动添加过程
- 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响 -zt