上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 27 下一页
摘要: tty数据接收流程 //tty子系统 1.tty_fops中的tty_read响应系统调用 2.tty_read调用tty_ldisc_N_TTY中的n_tty_read n_tty_read 1.设置app的状态 2.如果没有数据可读,让阻塞生效 3.如果有数据可读,从read_buf中读走数据 阅读全文
posted @ 2016-03-11 09:18 盛夏夜 阅读(821) 评论(0) 推荐(0) 编辑
摘要: tty数据发送流程 //tty子系统 1.file_operation中找到tty_write 2.tty_write找到线路规程中的n_tty_write 3.n_tty_write找到uart_ops中的uart_write //串口驱动 4.uart_write找到s3c24xx_serial 阅读全文
posted @ 2016-03-10 21:41 盛夏夜 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 用户程序调用open系统调用后,怎么传递到驱动程序 //tty子系统 1.tty_fops里面的tty_open是串口驱动对系统调用的响应入口 2.tty_open调用uart_ops里面的uart_open 3.uart_open找到了uart_start //串口驱动 4.uart_start找 阅读全文
posted @ 2016-03-10 21:40 盛夏夜 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 串口驱动结构 1.初始化设备 2.打开设备 3.读取数据 4.写入数据 串口驱动在内核的/drivers/serial/下的samsung.c和s3c2440.c 串口驱动中重要的数据结构 file_operations tty_fops.write = tty_write tty_ldisc_op 阅读全文
posted @ 2016-03-10 21:38 盛夏夜 阅读(283) 评论(0) 推荐(0) 编辑
摘要: tty概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 1.串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux把每个串口端口都看作是一个字符设备。这些串口设备所对应的设备名称是/dev/ttySAC0,/d 阅读全文
posted @ 2016-03-10 16:52 盛夏夜 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 平台总线概述 平台总线(Platform bus)是Linux2.6内核加入的一种虚拟总线,其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性。这条总线由系统创建,不需要用户再去创建平台总线。 通过平台总线机制开发设备驱动的流程如下: 1.定义platform_device 阅读全文
posted @ 2016-03-10 15:22 盛夏夜 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 总线模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的要求越来越高,2.4内核已经难以满足这些需求。为了适应这种形势的需要,从Linux2.6内核开始提供了全新的设备驱动模型。 总线驱动设备模型 这个模型首先有一条总线,然后是总线上挂载有很多驱动。当有设备插到总线上的时候 阅读全文
posted @ 2016-03-09 21:32 盛夏夜 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 阻塞的必要性 当一个设备无法立刻满足用户的读写请求时应当如何处理?例如,调用read时,设备没有数据提供,但以后可能会有;或者一个进程试图向设备写入数据,但是设备暂时没有准备好接收数据。当上述情况发生的时候,驱动程序应当(缺省地)阻塞进程,使它进入等待(睡眠状态),直到请求可以得到满足。 内核等待队 阅读全文
posted @ 2016-03-09 16:57 盛夏夜 阅读(295) 评论(0) 推荐(0) 编辑
摘要: keydev.c /******************************************************************** *头文件 ****************************************************************** 阅读全文
posted @ 2016-03-09 16:56 盛夏夜 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 按键抖动 按键所用的开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开。因而在闭合及断开的瞬间总伴随有一连串的抖动。 按键去抖动的方法主要有两种,一种是硬件电路去抖;另一种就是软件延时去抖。而延时去抖一般又分为两种,一种是for循环等待,另一种是定时器延 阅读全文
posted @ 2016-03-09 10:20 盛夏夜 阅读(268) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 27 下一页