Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》(4) devicefile 设备号相关

视频资料:https://www.bilibili.com/video/BV18SE26cEjn?spm_id_from=333.788.videopod.sections&vd_source=92b7efa4daa5bb4fdcdc9f2db97c307b&p=4

There is no C files in lesson4.

查看 Linux 系统的 /dev/ 文件夹,查看设备文件和文本文件的不同。实际上 /dev/ 下的设备文件大多都是虚拟文件,关闭树莓派之后,PC 查 SD 卡可以看到 /dev/ 文件夹大多是空的。

ls -lh 查看文件属性,第一个 d/c/b 代表不同意思。

c 代表字符设备文件,b 代表块设备文件,d 则是文件夹。在 Linux 中一切设备都是文件,系统用文件的开关读写抽象了设备的操作,所以 <linux/fs.h> 中的 file_operation 至关重要。

然后设备号,包括主设备号和次设备号。举例 /dev/gpiochip0 的主设备号 254,次设备号 0。cat /proc/devices 可以查看系统所有的设备的设备号。

Linux 内核驱动和设备是通过设备号来联系的,不是通过设备的名字。实际上也可以通过设备树 probe 来联系。

mknod 生成设备节点,

mknod 实际上是较早版本的设备文件的方法,现在已经不推荐了。故而个人建议了解即可。

整个视频涉及的都是 Linux 的基本概念,不复杂,但是要记住概念。

相关推荐
顺顺 尼1 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor2 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
傲世仙尊3 小时前
信号量环形队列与线程池起步-把临界资源拆成很多份
linux
Huangjin007_3 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
微小冷3 小时前
Mermaid画甘特图
运维·markdown·甘特图·mermaid·时间图
ShineWinsu3 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
云表无代码开发3 小时前
日本开发者彻底破防:中文太强了!换成英文直接裂开
大数据·服务器·人工智能·microsoft·信息可视化
FlightYe4 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
LBL12204 小时前
内网容器部署FTP日志监控服务
运维·服务器·容器
志栋智能4 小时前
超自动化巡检:驱动持续改进的运维飞轮
运维·自动化