您的位置:首页 > 运维架构 > Linux

Linux内核编程(项目笔记)——项目:创建并口驱动程序

2011-08-07 06:30 295 查看
由于本项目是并口的驱动程序编写,没有硬件支持,不做实操。

并口的硬件:

X86操作系统,使用inb()和outb(),并口常被当做超级输入输出设备中的一部分,或者是添加到系统中的单个(PCI)卡。

并口寄存器。信号与并行连接器针脚之间的关系。

附:一个优秀的寄存器级程序员应该始终知道尽可能多的底层硬件知识,包括为特殊并口I/O设备找出数据表。在数据表中,你可以找到设备的反向/源电流限制。

并口的软件:

设置文件操作(fops):

structfile_operations parlport_fops

parlport_open

parlport_close

parlport_ioctl

设置模块初始化例程:

parll_init

regeister_chrdev//注册模块

request_region//申请区域

设置模块清理例程:

parll_cleanup

release_region//释放区域

unregister_chrdev//注销模块

最后,包含进模块中:

module_init(parll_init)

module_exit(parll_cleanup)

插入模块:

模块插入内核

insmodparll.ko

模块与文件系统相连

mknod/dev/parll c <xxx> 0

应用程序代码

通过open、close和ioctl函数进入系统调用,在模块所定义的fops结构中去调用相应的操作,在进入其底层的硬件操作程序上,对硬件进行操作。

附:在/dev下的设备文件节点是系统上应用程序与内核通信的关键连接点。应用程序中调用open函数打开设备文件节点,映射到此节点对应的设备驱动程序模块,也就是到内核中找open所对应模块的parll_open函数,执行,而同时open返回文件描述符。之后其他函数类似操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: