The-primary-character-driven

所属分类:Linux/Unix编程
开发工具:Unix_Linux
文件大小:3588KB
下载次数:3
上传日期:2013-12-13 19:48:42
上 传 者keanking
说明:  Linux初级字符驱动学习资料,绝对值的收藏!
(The primary character driven)

文件列表:
初级驱动(5)\hello_drv.c (1870, 2013-10-28)
初级驱动(5)\linux内核模块设计.pdf (518572, 2013-10-25)
初级驱动(5)\linux字符设备驱动.pdf (115824, 2013-10-28)
初级驱动(5)\linux字符设备驱动(三).pdf (125765, 2013-10-30)
初级驱动(5)\linux字符设备驱动(二).pdf (146509, 2013-10-29)
初级驱动(5)\mini_rootfs.tar.bz2 (2568093, 2013-10-29)
初级驱动(5)\实验\06_poll\.monitor.c.swp (12288, 2013-10-30)
初级驱动(5)\实验\06_poll\.read_app.c.swp (12288, 2013-10-30)
初级驱动(5)\实验\06_poll\hello_drv.c (2866, 2013-10-30)
初级驱动(5)\实验\06_poll\Makefile (541, 2013-10-30)
初级驱动(5)\实验\06_poll\monitor (6692, 2013-10-30)
初级驱动(5)\实验\06_poll\monitor.c (637, 2013-10-30)
初级驱动(5)\实验\06_poll\read_app (6128, 2013-10-30)
初级驱动(5)\实验\06_poll\read_app.c (297, 2013-10-30)
初级驱动(5)\实验\06_poll\write_app (6012, 2013-10-30)
初级驱动(5)\实验\06_poll\write_app.c (254, 2013-10-30)
初级驱动(5)\实验\ioctl_test_01\app.c (194, 2013-10-29)
初级驱动(5)\实验\ioctl_test_01\hello.h (105, 2013-10-29)
初级驱动(5)\实验\ioctl_test_01\hello_drv.c (2550, 2013-10-29)
初级驱动(5)\实验\ioctl_test_02\app.c (183, 2013-10-29)
初级驱动(5)\实验\ioctl_test_02\hello.h (258, 2013-10-29)
初级驱动(5)\实验\ioctl_test_02\hello_drv.c (2736, 2013-10-29)
初级驱动(5)\实验\ioctl_test_03\app.c (283, 2013-10-29)
初级驱动(5)\实验\ioctl_test_03\hello.h (349, 2013-10-29)
初级驱动(5)\实验\ioctl_test_03\hello_drv.c (2938, 2013-10-29)
初级驱动(5)\实验\llseek_test\app.c (341, 2013-10-29)
初级驱动(5)\实验\llseek_test\hello_drv.c (3250, 2013-10-29)
初级驱动(5)\实验\sleep_test\hello_drv.c (2650, 2013-10-30)
初级驱动(5)\实验\sleep_test\read_app.c (223, 2013-10-30)
初级驱动(5)\实验\sleep_test\write_app.c (163, 2013-10-30)
初级驱动(5)\实验:字符初体验.txt (2348, 2013-10-28)
初级驱动(5)\密码:s5pv210或者S5PV210.txt (0, 2013-12-09)
初级驱动(5)\笔录\chardev.txt (2028, 2013-10-28)
初级驱动(5)\笔录\chardev.txt.bak (1888, 2013-10-28)
初级驱动(5)\笔录\char_02.bmp (7055894, 2013-10-28)
初级驱动(5)\笔录\ioctl.bmp (7055894, 2013-10-29)
初级驱动(5)\笔录\module.txt (2106, 2013-10-25)
初级驱动(5)\笔录\module.txt.bak (1657, 2013-10-25)
初级驱动(5)\笔录\poll.bmp (7055894, 2013-10-30)
... ...

user : select/poll ---------------------------- kernel: sys_poll -> do_sys_poll -> poll_initwait(&table); -> init_poll_funcptr(&table->pt, __pollwait); -> table->pt->qproc = __pollwait; //wait_queue_head_t -> poll_table -> fdcount = do_poll(nfds, head, &table, end_time); -> for (;;) { ... for(walk = list; walk != NULL; walk = walk->next){ ..... if (do_pollfd(pfd, pt)) { -> mask = file->f_op->poll(file, pwait); --> mask = hello_poll(); -> poll_wait(filp,&rd_queue,wait); -> if(flag > 0) mask |= POLLIN|POLLRDNORM; count++; pt = NULL; } } if (count || timed_out) break; if (!poll_schedule_timeout(wait, TASK_INTERRUPTIBLE, to, slack)) timed_out = 1; } -> poll_freewait(&table); struct pollfd { int fd; short events; short revents; }; user: open kernel:sys_open -> do_sys_open --> --> --> hello_open() printk("open\n");

近期下载者

相关文件


收藏者