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 的基本概念,不复杂,但是要记住概念。

相关推荐
Linux-lucky4 小时前
21-Linux学习之旅之HTTPS和安全加固
linux·运维·学习·ubuntu·https
清水白石0085 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
ao-weilai6 小时前
Linux基础:Ext系列文件系统
linux·运维·服务器
qq_349447956 小时前
Linux系统,安装git,从使用git下载仓库(GitHub, Gitee, GitLab 等),并且使用ssh密钥,可以直接执行git pull
linux·git·ssh
GlobalSign数字证书9 小时前
小企业零运维 TLS 架构设计:证书生命周期管理(CLM)与自动化轮换策略的技术选型
运维·自动化
mCell9 小时前
GitHub Actions 玩法大赏:一台远程主机的七种活法
linux·github·agent
盐焗鹌鹑蛋10 小时前
【Linux】动静态库的制作与使用
linux
wuyk55510 小时前
Python 第三章:列表 List
服务器·开发语言·python
艾伦_耶格宇10 小时前
【ELK】-4 logstash的搭建及操作
linux·运维·ubuntu·elk