社区
Linux_Kernel
帖子详情
关于字符设备驱动的一点疑问
mengde007
2010-10-11 03:44:47
字符设备驱动,想必大家见过多了。
有此疑问:
加载这个模块之后的流程如何:
是不是对应一个进程,然后让它sleep,由其它的程序调用,
Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ?
请各位解答。
...全文
154
9
打赏
收藏
关于字符设备驱动的一点疑问
字符设备驱动,想必大家见过多了。 有此疑问: 加载这个模块之后的流程如何: 是不是对应一个进程,然后让它sleep,由其它的程序调用, Linux不是把设备当做文件吗,难道一个read或者write操作就可以把它wake up,执行完毕之后继续sleeping ? 请各位解答。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yel617
2010-10-13
打赏
举报
回复
学习了
rabbii
2010-10-12
打赏
举报
回复
[Quote=引用 4 楼 eclipse_2 的回复:]
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
[/Quote]
模块应该就和系统在一起了,相当于是一体的……
mengde007
2010-10-11
打赏
举报
回复
谢谢各位的答复。
小魔菇
2010-10-11
打赏
举报
回复
[Quote=引用 4 楼 eclipse_2 的回复:]
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
[/Quote]
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
往下走就是向设备发送中断 等待设备完成读写操作 获取相关数据
deep_pro
2010-10-11
打赏
举报
回复
你要首先理解,内核本身是不会被调度执行的,只有进程会被调度执行
内核只有在中断(硬件的和进程调系统调用产生的异常)到来时才动一下,之后很快就把控制权交还进程
驱动就是内核的一部分
小魔菇
2010-10-11
打赏
举报
回复
linux是个宏内核 结构比较紧凑 以函数执行流程往下走
驱动程序并非是那种C/S模式 也有其他的功能是通过内核线程的方式存在的 比如swapper
字符型设备驱动的函数也是这样被调用的
应用层-》系统调用层-》VFS-》根据字符型设备的file_operations表进行跳转到操作该设备的函数中去
justkk
2010-10-11
打赏
举报
回复
对内核不甚理解
个人理解,如果内核是一个程序,驱动就是一个函数或者动态库
mengde007
2010-10-11
打赏
举报
回复
那么驱动以什么形式存在于内核之中呢?
外界又是怎么调用它的。
justkk
2010-10-11
打赏
举报
回复
驱动应该是内核的一部分吧
没有这样一个守护进程
Linux设备字符
驱动
开发感悟之经典
经典值得分享,有任何
疑问
可以关注作^_^。 本篇文章分享
字符设备
驱动
: 我们学习编程的时候都会从hello程序开始。同样的,学习Linux
驱动
我们也从最简单的hello
驱动
学起。 第一:
驱动
层和应用层 看一下STM32裸机开发与嵌入式Linux开发的一些区别: 嵌入式Linux的开发方式与STM32裸机开发的方式有点不一样。在STM32的裸机开发中,
驱动
层与应用层的区分可能没有那么明显,常常都杂揉在一起。 当然,有些很有水平的裸机程序分层分得还是很明显的。但是,在嵌入式Lin
linux与软件技术的关联,Linux
驱动
程序开发 - 设备与
驱动
的关系
序言前面两章我们了解了Linux
驱动
程序的基本框架,也了解了如何编译Linux的
驱动
程序。接下来我们有必要介绍Linux系统的设备了,这样我们才能清楚的知道应用程序和设备
驱动
程序是如何的工作的,或者说应用程序是如何控制
驱动
程序的,进而知道应用程序是如何通过
驱动
程序操作设备的。Linux设备分类Linux下的设备通常分为三类,
字符设备
,块设备和网络设备。
字符设备
一个
字符设备
是一种字节流设备,对设备的...
RT-Thread设备和
驱动
总结_rtt 设备
驱动
模型,大厂面试必备
图中设备
驱动
层的 “xxx” ,是 RT-Thread 支持的各 BSP 平台,在源码的 src/bsp 目录下找寻,比如stm32/gd32/at32/avr32/k210 等等。图中设备
驱动
框架层有很多 RT-Thread 写好的类,图中只列出2类,其他类用 “xxx” 来表示,这些省略的类及其管理接口可以在 RT-Thread 源码 components/drivers 目录下找寻,比如该目录下可以找到serial/i2c/spi/sensor/can 等等相关目录。数字信号在数值上是离散的。
Linux
驱动
.之input输入子系统设备
驱动
框架(一)
原文链接:https://blog.csdn.net/weixin_55796564/article/details/120435257 Input 设备
驱动
,操作硬件获取硬件寄存器中设备输入的数据,并把数据交给核心层,本质还是
字符设备
, 只是比较复杂,不止fileopration,还包括核心层,事件上报, 比如鼠标,就包括usb架构,套上input架构。触摸屏,通过i2c读取数据,就需要注册到i2c架构,套上input架构 开篇前,讲一下,input很复杂,但是对于
驱动
开发不难,只需调用内核提供的,注册接
Linux_Kernel
4,468
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章