博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【TINY4412】LINUX学习笔记:(4)sysfs、debugfs、procfs文件系统
阅读量:4087 次
发布时间:2019-05-25

本文共 2138 字,大约阅读时间需要 7 分钟。

【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 orderproc            /proc           proc    defaults        0               0root@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 ordersysfs           /sys            sysfs   defaults        0               0root@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` ; donegpa0: 0gpk3: 104gpl0: 111gpl1: 118gpl2: 120gpm0: 128gpm1: 136gpb: 14

debugfs

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

挂载

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

root@ubuntu:/opt/fs/rootfs/rootfs# cat etc/fstab #device         mount-point     type    options         dump    fsck orderdbgfs           /sys/kernel/debug       dbgfs   defaults        0               0root@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 gpiogpiochip0: 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:

参考

)

转载地址:http://pnzii.baihongyu.com/

你可能感兴趣的文章
你不知道的Virtual DOM
查看>>
VUE面试题总结
查看>>
写好JavaScript条件语句的5条守则
查看>>
原生JS中DOM节点相关API合集
查看>>
【TINY4412】U-BOOT移植笔记:(7)SDRAM驱动
查看>>
【TINY4412】U-BOOT移植笔记:(12)BEEP驱动
查看>>
单链表的修改和删除
查看>>
C++的三个基本特征:封装、继承、多态
查看>>
C++虚函数的总结
查看>>
什么是URL地址?
查看>>
C++多态的实现方式总结
查看>>
学习C++需要注意的问题
查看>>
C++模板
查看>>
C++双冒号(::)的用法
查看>>
【Unity】封装SQLite管理类
查看>>
【Unity】面试题整理
查看>>
【C#】如何实现一个迭代器
查看>>
【Unity】Destroy和DestroyImmediate的区别
查看>>
【Lua】Mac系统下配置SublimeText的Lua编译环境
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>