当前位置:首页>Linux>#Linux嵌入式开发笔记#sysfs:一个能让用户程序与内核对话的文件系统

#Linux嵌入式开发笔记#sysfs:一个能让用户程序与内核对话的文件系统

  • 2026-10-11 07:43:25
#Linux嵌入式开发笔记#sysfs:一个能让用户程序与内核对话的文件系统

 sysfs 是个虚拟文件系统,挂在 /sys/ 目录下,作用是把内核里的设备、驱动、总线等信息暴露给用户空间。写代码控制LED、查CPU温度、配GPIO,本质都是在操作 /sys/ 里的文件。

1. 在哪里找到该文件?

/sys/ 目录下,常见子目录:

路径 内容

/sys/class/ 按类别分类的设备(gpio、leds、net等)

/sys/devices/ 真实的设备树,按总线层级排列

/sys/block/ 块设备(mmc、sda等)

/sys/bus/ 系统中的总线(platform、i2c、spi等)

例子:想控制GPIO,在 /sys/class/gpio/ 下找。

2. 如何操作?

和普通文件一样用 cat/echo 读写,但本质是内核驱动的回调函数:

shell编程的话:
# 读:查看引脚当前值
cat /sys/class/gpio/gpio44/value

# 写:设置电平

echo 1 >

 /sys/class/gpio/gpio44/value

C编程的话:

在C代码里用 open()、read()、write() 也可以操作。

3. 能干什么?

典型应用:

控制开发板的GPIO。

GPIO /sys/class/gpio/gpioX/value
配置开发板的LED等。

LED /sys/class/leds/xxx/brightness

总结:

sysfs = 内核给的“控制面板”。每个文件背后都有一小段驱动代码,读文件就是调用这段代码。/sys/class/ 是最常用的入口,设备按类别归好类了,直接找就行。4.这样的好处:

sysfs让应用层开发者不用写内核驱动,就能通过读写文件的方式操作硬件,极大降低了嵌入式开发的门槛。特别适合新手小白。

最新文章

随机文章