5.3.4.1 设备驱动模板
http://book.51cto.com 2007-08-16 09:37 苏东 电子工业出版社易飞思公司
我要评论(0)
- 摘要:《主流ARM嵌入式系统设计技术与实例精解》第5章重点介绍了基于ARM处理器的底层驱动设计以及ARM处理器的汇编语言编程。本节主要介绍的是设备驱动程序模板与实现.
- 标签:设备 驱动 模板 Linux 主流ARM嵌入式系统设计技术与实例精解
5.3.4 设备驱动程序模板与实现
Linux下的驱动程序虽然复杂,但是总结下来还是有很多的规律可寻。Linux下的设备驱动开始编程时显得比较容易,可以轻松地开始驱动编写,但是要把驱动写好也的确需要花一定的时间去研究。
1.设备驱动模板
设备驱动模板代码如例程5-4所示。
例程5 4 Mydriver.c
从上面的模板代码可以看出,设备驱动主要给上层提供file_operation和ioctl功能,实现上层对于底层设备的管理和读、写操作等。另外不同的设备调用的设备注册和注销函数有所不同,大家可以区分一下:misc_register()函数、register_chardev()函数、register_netdev()函数及misc_deregister()函数。也可以去分析一下deregister_chardev()函数和deregister_netdev() 函数的不同之处。
通常的设备驱动参照上面的模板就可以实现基本的框架了,当然还需要注意有关硬件的一些操作,包括初始化、参数设置、中断服务等。这些代码可以根据系统的设计放在driver_init里面,或者放在第一次打开的时候。
Linux下的驱动程序虽然复杂,但是总结下来还是有很多的规律可寻。Linux下的设备驱动开始编程时显得比较容易,可以轻松地开始驱动编写,但是要把驱动写好也的确需要花一定的时间去研究。
1.设备驱动模板
设备驱动模板代码如例程5-4所示。
例程5 4 Mydriver.c
#include <linux/module.h> |
通常的设备驱动参照上面的模板就可以实现基本的框架了,当然还需要注意有关硬件的一些操作,包括初始化、参数设置、中断服务等。这些代码可以根据系统的设计放在driver_init里面,或者放在第一次打开的时候。
【责任编辑:
雪花 TEL:(010)68476606-8007】