社区
Linux_Kernel
帖子详情
驱动多线程中频繁使用mdelay会对系统造成问题吗?
donny0923
2012-01-14 07:59:57
驱动中开一个线程一直在运转,然后每隔100us(使用udelay延时),就操作一次硬件,那么这个100us会受到应用层阻塞线程或者 其他阻塞的影响么?
...全文
212
3
打赏
收藏
驱动多线程中频繁使用mdelay会对系统造成问题吗?
驱动中开一个线程一直在运转,然后每隔100us(使用udelay延时),就操作一次硬件,那么这个100us会受到应用层阻塞线程或者 其他阻塞的影响么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coding码场
2012-01-16
打赏
举报
回复
楼上两位都说得很不错!顶一下!
dongjiawei316
2012-01-15
打赏
举报
回复
udelay是忙等待,会一直占着你的CPU的,如果你循环每操作一次硬件就udelay一下,那么你其他应用程序几乎都不能跑了。。。。
建议msleep,虽然是ms级的。但是他不会一直占着你的CPU
deep_pro
2012-01-14
打赏
举报
回复
驱动开的是内核线程 跟普通进程一样是可以调度的
udelay是靠死循环实现的延迟,当你的内核线程没有占用cpu时,很可能超过1ms都不会执行你的程序
100us是小于进程可能的最小时间片的 (HZ=1000时,1ms才产生一个时钟中断,假设时间片为1个jiffes,1ms才可能发生进程切换,轮到你的内核线程)
所以这是靠不住的,会受到其他阻塞进程的影响
你需要使用内核高精度定时器 ,一般的内核定时器都不能达到us级
这种时间级别的操作,应该都有装用的硬件控制器来做
linux嵌入式系统开发之触摸屏---
驱动
篇(
中
/Linux输入子系统)
linux嵌入式系统开发之触摸屏---
驱动
篇(
中
/Linux输入子系统) 既然说到了linux输入子系统,那么为什么要用输入子系统呢?这得从面向对象的程序设计
中
说起,通过面向对象技术,极大地的提高了代码的可重用能力。重用的作用可以是很多linux hack们所迷恋,为啥?有了重用,就不用花费大量的精力去做一些相同或相近的事情(什么?吃饭,对,还就是吃饭,天天让小王吃一样东
<Linux开发>
驱动
开发 -之-内核定时器与
中
断
定时器是我们最常用到的功能,一般用来完成定时功能,熟悉一下 Linux 内核提供的定时器 API 函数,通过这些定时器 API 函数我们可以完成很多要求定时的应用。Linux内核也提供了短延时函数,比如微秒、纳秒、毫秒延时函数,本章我们就来学习一下这些和时间有关的功能。
中
断也是
频繁
使用
的功能,Linux 内核提供了完善的
中
断框架,我们只需要申请
中
断,然后注册
中
断处理函数即可,
使用
非常方便,不需要一系列复杂的寄存器配置。下面我们就来一一分析。
RT-Thread设备和
驱动
总结
已剪辑自: https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/device绝大部分的嵌入式系统都包括一些 I/O(Input/Output,输入 / 输出)设备,例如仪器上的数据显示屏、工业设备上的串口通信、数据采集设备上用于保存数据的 Flash 或 SD 卡,以及网络设备的以太网接口等,都是嵌入式系统
中
容易找到的 I/O 设备例子。本章主要介绍
Linux内核设备
驱动
之内核的时间管理笔记整理
实践
中
,约定做法是在
使用
wait_event时
使用
wake_up,而
使用
wait_event_interruptible时
使用
wake_up_interruptible。前面介绍的是确定时间的延迟执行,但在写
驱动
的过程
中
经常遇到这种情况:用户空间程序调用read函数从设备读数据,但设备
中
当前没有产生数据。与前面几种延迟方法不同,内核定时器并不
会
阻塞当前进程,启动一个内核定时器只是声明了要在未来的某个时刻执行一项任务,当前进程仍然继续执行。进程经过2秒后
会
被唤醒。该宏在实现休眠的同时,检查进程等待的条件。
多点电容触摸
驱动
(基于gt911)
多点电容触摸的
驱动
使用
到的知识主要有input子系统、gpio硬件
中
断、iic子系统,tslib测试等知识点,下面将针对多点电容触摸屏的
驱动
开发的四个知识点进行展开,以及gt911芯片的知识,官方gt9xx
驱动
的移植。
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章