自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Linux驱动开发学习(4)字符设备驱动

上一节中,我们说过,设备以设备文件的形式暴露给用户空间,其中主要包括字符设备和块设备两种。字符设备以数据流的方式进行读写,而块设备以数据块的形式读写。块设备一般用于存储设备和显示设备,常常依赖于现有协议,很少需要自己写驱动,所以我们首先学习字符设备驱动。字符设备应用广泛,对于无需大块数据读写的设备,都是字符设备。

2025-10-08 11:34:44 246

原创 Linux驱动开发学习(3)Linux设备与驱动架构

本文介绍了Linux系统中的设备文件类型和驱动框架结构。主要内容包括:1) Linux中通过ls -al命令可查看不同类型的设备文件标识,重点区分了字符设备和块设备的读写方式差异;2) 阐述了设备、驱动与总线的关系,总线控制器作为中介连接CPU和设备;3) 详细分析了Linux内核中的设备结构体(device)、设备驱动结构体(device_driver)和总线结构体(bus_type)的组成与功能;4) 说明了Linux驱动框架提供的用户空间接口、设备自动发现匹配机制以及控制流、数据流和电源管理功能。文章

2025-10-05 20:24:29 1807

原创 Linux驱动开发学习(2)Linux文件系统

Linux文件系统采用"万物皆文件"的设计理念,通过虚拟文件系统(VFS)将硬件设备抽象为文件,提供标准化的操作接口。用户程序通过系统调用(如open/read/write)或C库函数操作文件,VFS通过file_operations结构体与底层驱动交互。驱动开发需实现关键操作:open、release、read、write和ioctl。设备文件通过inode结构体管理,包含文件基本信息和设备结构体指针。这种抽象机制简化了用户程序对硬件的操作,实现了统一访问接口。

2025-10-01 23:09:42 1686

原创 Linux驱动开发学习(1)驱动程序与内核模块基本概念

驱动程序是直接操作硬件的程序,其将硬件的底层操作封装和抽象,向其他程序提供更方便操作的接口。比如,使用GPIO控制LED的亮灭,需要对相应的寄存器进行读写,而驱动程序可以将对寄存器的操作抽象为“点亮LED”和“熄灭LED”两个接口,其他程序可以直接使用这两个接口来操作LED,而不需要了解如何去操作寄存器。

2025-09-29 22:18:59 918

翻译 风力发电机是如何工作的

本文介绍了风力发电机发电的原理以及风电场结构。

2024-03-21 10:22:56 3023

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除