Quantcast
Channel: JasonLe's TechBlog » device
Browsing all 4 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

实践字符设备驱动

我们都知道在linux里面存在块设备与字符设备。我们这里是设计的字符驱动,在不久,我会加入支持阻塞的功能。 我们可以通过查看cat /proc/device查看已注册的设备 [lzz@localhost device_character]$ cat /proc/devices Character devices: 1 mem 4 /dev/vc/0 4 tty 4 ttyS 5 /dev/tty 5...

View Article


具有阻塞操作的字符设备驱动

http://www.lizhaozhong.info/archives/1062 在上面这篇文章里面,我们做的是一个简单的非阻塞操作的字符设备,也就是说对于这个设备的操作要么放弃,要么不停的轮询,直到操作可以进行下去。 而支持阻塞设备的字符操作,我们可以实现读操作或者写操作的睡眠。这就是我们要完成的操作。 关于程序的框架,与之前的其实是类似的,比如我们在全局设定一个等待队列头。 #define...

View Article

具有健壮性的文件IO函数

在理想环境下,我们使用linux下的read()write()函数可以依照我们想读的字节数读到buffer中。并没有考虑函数返回值的问题。 以read为例 static ssize_t rio_read(rio_t *rp, char *usrbuf, size_t n) { int cnt; while (rp->rio_cnt <= 0) { /* refill if buf is...

View Article

字符驱动poll函数与select()函数的交互

在字符驱动中,我们经常要实现poll()的功能,具体实现在注册到file_operations 的函数中,举个例子 static unsigned int xxx_poll(struct file *file, poll_table *wait) { poll_wait(file, &mp_chrdev_wait, wait); if...

View Article
Browsing all 4 articles
Browse latest View live