Linux
羅昇
www.luosh.cn
做个记录
展开
-
linux驱动学习记录(一)-字符设备框架
该系列是我在学习宋宝华老师的《Linux设备驱动开发详解》以及结合其他网上教程所做记录。1. Linux设备 在Linux操作系统下的设备通常分为三类:字符设备、块设备和网络设备。 字符设备是以字节为单位逐个进行I/O操作的设备,在对字符设备发出读写请求时,实际的硬件I/O紧接着就发生了,一般来说字符设备中的缓存是可有可无的,而且也不支持随机访问。块设备原创 2017-10-08 14:59:13 · 9128 阅读 · 0 评论 -
linux驱动学习记录(二)-PCI驱动框架
1. PCI设备驱动的组成 PCI 驱动只是为了辅助设备本身的驱动,它不是目的,而是手段。例如,对于通过PCI 总线与系统连接的字符设备,则驱动中除了要实现PCI 驱动部分外,其主体仍然是设备作为字符设备本身的驱动,即实现file_operations成员函数并注册cdev。 在Linux 内核中,用pci_driver 结构体来定义PCI 驱动,该结构体中包含了PCI 设备的探测原创 2017-10-08 16:07:32 · 9715 阅读 · 1 评论 -
linux驱动学习记录(三)-PCI IO读写、中断、DMA传输
实现方法不止本文这些,本文只是作者对自己成功实现的方法记录1. PCI IO内存读写 I/O端口是驱动程序与许多设备之间的通信方式,Linux的内核为我们提供了I/O端口分配的操作接口,但对PCI设备来讲,它的配置地址空间已经为其指定了I/O端口范围,不需要额外的分配操作。下列代码通过访问I/O内存实现访问设备内存。unsigned long mmi原创 2017-10-08 16:28:10 · 13898 阅读 · 0 评论