【TINY4412】LINUX学习笔记:(4)sysfs、debugfs、procfs文件系统

40 篇文章 2 订阅

【TINY4412】LINUX学习笔记:(4)procfs、sysfs、debugfs 文件系统

宿主机 : 虚拟机 Ubuntu 16.04 LTS / X64
目标板[底板]: Tiny4412SDK - 1506
目标板[核心板]: Tiny4412 - 1412
LINUX内核: 4.12.0
交叉编译器: arm-none-linux-gnueabi-gcc(gcc version 4.8.3 20140320)
日期: 2017-8-24 20:07:43
作者: SY

procfs

procfs 历史最早,最初就是用来跟内核交互的唯一方式,用来获取处理器、内存、设备驱动、进程等各种信息。

挂载

默认挂载目录:/proc

root@ubuntu:/opt/fs/rootfs/rootfs# cat etc/fstab 

#device         mount-point     type    options         dump    fsck order
proc            /proc           proc    defaults        0               0

root@ubuntu:/opt/fs/rootfs/rootfs# vim etc/init.d/rcS
 [ -e /proc/1 ]    || /bin/mount -n -t proc  none /proc

sysfs

sysfskobject 框架紧密联系,而 kobject 是为设备驱动模型而存在的,所以 sysfs 是为设备驱动服务的。

设备树

Device Drivers  —>
    GPIO Support  —> 
        [*]   /sys/class/gpio/... (sysfs interface)

挂载

默认挂载目录:/sys

root@ubuntu:/opt/fs/rootfs/rootfs# cat etc/fstab 

#device         mount-point     type    options         dump    fsck order
sysfs           /sys            sysfs   defaults        0               0

root@ubuntu:/opt/fs/rootfs/rootfs# vim etc/init.d/rcS
[ -e /sys/class ] || /bin/mount -n -t sysfs none /sys

遍历 gpio

[root@TINY4412:~]# cd /sys/class/gpio/
[root@TINY4412:/sys/class/gpio]# for i in gpiochip* ; do echo `cat $i/label`: `cat $i/base` ; done
gpa0: 0
gpk3: 104
gpl0: 111
gpl1: 118
gpl2: 120
gpm0: 128
gpm1: 136
gpb: 14

debugfs

debugfs 从名字来看就是为 debug 而生,所以更加灵活。

挂载

默认挂载目录:/sys/kernel/debug

root@ubuntu:/opt/fs/rootfs/rootfs# cat etc/fstab 

#device         mount-point     type    options         dump    fsck order
dbgfs           /sys/kernel/debug       dbgfs   defaults        0               0

root@ubuntu:/opt/fs/rootfs/rootfs# vim etc/init.d/rcS
/bin/mount    -t debugfs none /sys/kernel/debug

查看 gpio 资源

[root@TINY4412:/sys/kernel/debug]# cat gpio
gpiochip0: GPIOs 0-7, parent: platform/11400000.pinctrl, gpa0:

gpiochip1: GPIOs 8-13, parent: platform/11400000.pinctrl, gpa1:

gpiochip2: GPIOs 14-21, parent: platform/11400000.pinctrl, gpb:

gpiochip3: GPIOs 22-26, parent: platform/11400000.pinctrl, gpc0:

gpiochip4: GPIOs 27-31, parent: platform/11400000.pinctrl, gpc1:

gpiochip5: GPIOs 32-35, parent: platform/11400000.pinctrl, gpd0:

参考

Linux 文件系统:procfs, sysfs, debugfs 用法简介

Linux内核里的DebugFS )

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值