会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
朱果果
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
24
25
26
27
28
29
下一页
2018年12月15日
6.字符设备驱动------定时器防抖
摘要: 目的: 通过定时器防按键抖动,测试程序是使用上节的:阻塞操作的测试程序 http://www.cnblogs.com/lifexy/p/7522122.html 使用定时器的一般流程为: (1)timer、编写function; (2)为timer的expires、data、function赋值;
阅读全文
posted @ 2018-12-15 10:34 朱果果
阅读(162)
评论(0)
推荐(0)
2018年12月13日
5.字符设备驱动------同步互斥阻塞
摘要: 引入 当设备被一个程序打开时,存在被另一个程序打开的可能,如果两个或多个程序同时对设备文件进行写操作,这就是说我们的设备资源同时被多个进程使用,对共享资源(硬件资源、和软件上的全局变量、静态变量等)的访问则很容易导致竞态。 显然这不是我们想要的,所以本节引入互斥的概念:实现同一时刻,只能一个应用程序
阅读全文
posted @ 2018-12-13 14:33 朱果果
阅读(361)
评论(0)
推荐(0)
2018年12月12日
4.字符设备驱动------异步通知
摘要: 引入: 按键驱动方式对比 以上3种,都是让应用程序主动去读,本节我们学习异步通知,它的作用就是当驱动层有数据时,主动告诉应用程序,然后应用程序再来读, 这样,应用程序就可以干其它的事情,不必一直读 比如:kill -9 pid ,其实就是通过发信号杀死进程,kill发数据9给指定id号进程 进程间发
阅读全文
posted @ 2018-12-12 18:37 朱果果
阅读(293)
评论(0)
推荐(0)
3.字符设备驱动------Poll机制
摘要: 1.poll情景描述 以之前的按键驱动为例进行说明,用阻塞的方式打开按键驱动文件/dev/buttons,应用程序使用read()函数来读取按键的键值。 这样做的效果是:如果有按键按下了,调用该read()函数的进程,就成功读取到数据,应用程序得到继续执行;倘若没有按键按下,则要一直处于休眠状态,等
阅读全文
posted @ 2018-12-12 14:56 朱果果
阅读(730)
评论(0)
推荐(0)
阻塞和非阻塞,同步和异步的概念辨析
摘要: 阻塞和非阻塞,同步和异步 例子 故事:老王烧开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 老王想了想,有好几种等待方式 1.老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没。-同步阻塞 老王想了想,这种方法不够聪明。 2.老王还是用水壶煮水,不
阅读全文
posted @ 2018-12-12 08:29 朱果果
阅读(410)
评论(0)
推荐(0)
2018年12月11日
2.字符设备驱动------按键中断及休眠
摘要: 硬件相关配置: 先看测试程序中的main函数(thirdtest.c) (所有的操作都是以open函数来开始,它用来获取fd,然后后期的其他操作全部控制fd来完成对硬件设备的实际操作) 应用程序打开设备,调用系统调用open时,操作系统会将文件系统对应设备文件的inode中的file_operati
阅读全文
posted @ 2018-12-11 20:50 朱果果
阅读(612)
评论(0)
推荐(0)
2018年12月10日
字符设备驱动-----Linux中断处理体系结构
摘要: 一、中断处理体系结构的初始化 Linux内核将所有的中断统一编号,使用一个irq_desc结构数组来描述这些中断;每个数组项对应一个中断,也可能是一组中断,它们共用相同的中断号,里面记录了中断的名称、中断状态、中断标记(比如中断类型、是否共享中断等),并提供了中断的低层硬件访问函数(清除、屏蔽、使能
阅读全文
posted @ 2018-12-10 16:18 朱果果
阅读(422)
评论(0)
推荐(0)
1.字符设备驱动------Linux中断处理体系结构
摘要: 一、中断处理体系结构的初始化 Linux内核将所有的中断统一编号,使用一个irq_desc结构数组来描述这些中断;每个数组项对应一个中断,也可能是一组中断,它们共用相同的中断号,里面记录了中断的名称、中断状态、中断标记(比如中断类型、是否共享中断等),并提供了中断的低层硬件访问函数(清除、屏蔽、使能
阅读全文
posted @ 2018-12-10 16:15 朱果果
阅读(350)
评论(0)
推荐(0)
字符设备驱动-------Linux异常处理体系结构
摘要: 裸机中断流程 Linux处理异常流程 异常发生时,会去异常向量表找到入口地址,(这算异常发生之后跳转到第一个处理分支),进入异常模式,保护部分现场,强制进入SVC管理模式,根据异常发生前的工作模式,找到异常处理的第二级分支,在该模式下面接过异常模式堆栈中的信息,接着保存异常发生时异常模式还未保存的信
阅读全文
posted @ 2018-12-10 14:09 朱果果
阅读(464)
评论(0)
推荐(0)
2018年12月9日
内核中的宏定义__init、__initdata和__exit、__exitdata
摘要: __init、__initdata和__exit、__exitdata的定义位于<kernel/include/linux/init.h> 这些宏大多跟和section相关的定义 这些宏定义的作用是告诉编译器将这些函数或者数据放入相应的section中,一般是指放置到内核镜像的哪个位置上。内核中的内
阅读全文
posted @ 2018-12-09 09:58 朱果果
阅读(2399)
评论(0)
推荐(0)
上一页
1
···
24
25
26
27
28
29
下一页
公告