Linux驱动
文章平均质量分 96
Linux驱动是内核中负责硬件设备通信的软件,它使得硬件能够在操作系统中正常工作,通过提供操作接口、管理资源、实现数据交换等功能,驱动程序在内核空间与硬件直接交互,支持模块化开发和设备树描述,是Linux系统生态中不可或缺的一部分。
左手的月光
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式Linux驱动--高级字符驱动
IO模型有阻塞IO,非阻塞IO,信号驱动IO,IO多路复用,异步IO。其中前四个被称之为同步IO。原创 2025-04-01 15:27:34 · 662 阅读 · 0 评论 -
嵌入式Linux驱动--并发与竞争
原子操作中的“原子”指的是化学反应中最小的微粒。CPU在工作时间内会依次开始执行任务一和任务二,但由于CPU的处理速度很快,它可以交替地执行这两个任务,使得它们看起来像是同时进行的。在实际的操作中,CPU可能会因为各种原因而暂停当前任务的执行,转而去执行其他任务,这被称为“上下文切换”。在操作系统中,自旋锁通过“原地等待”的方式来处理资源竞争,但这种方式可能会浪费CPU资源,尤其是在需要长时间等待的情况下。这种机制提高了系统的效率,因为它减少了不必要的资源消耗,并在多个任务间提供了更好的协作方式。原创 2025-01-22 14:39:30 · 1143 阅读 · 0 评论 -
嵌入式Linux驱动--字符设备驱动基础
在Linux系统中,每个字符设备和块设备都通过设备号进行管理,该设备号由和成。主设备号用于标识设备所属的驱动类别,例如USB驱动下的鼠标和键盘;而次设备号则具体标识该类别下的某个设备实例,如特定编号的鼠标或键盘。在开发字符驱动程序的过程中,首先需要申请设备号,因为只有成功申请到设备号后,才能进一步注册相应的设备。在Linux系统中,设备号使用名为的数据类型表示,该类型在include/linux/types.h文件中定义。dev_t被定义为u32类型,即无符号32位整数。原创 2025-01-21 14:29:57 · 899 阅读 · 0 评论 -
嵌入式Linux驱动--驱动基础篇
什么是驱动?驱动程序扮演着底层硬件与上层软件之间的桥梁角色,它负责将操作系统的通用指令转换成硬件能够理解的特定命令,确保硬件设备能够正确响应并执行相应的操作,从而实现软件与硬件之间的顺畅沟通和协同工作。驱动可以简单分为两种,一种是无操作系统的驱动,一种是有操作系统的驱动。比如用单片机进行简单的通断控制,从编程角度来说,直接控制寄存器就可以了,也就是直接和硬件打交道,这种属于无操作系统的驱动。有了操作系统以后,编写驱动就变的比较复杂,要基于Lnux的各种驱动框架进行编程。但是当驱动都按照系统原创 2025-01-07 13:39:07 · 1321 阅读 · 0 评论
分享