博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Debugfs
阅读量:3897 次
发布时间:2019-05-23

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

1. 前言

        Debugfs虚拟文档系统是一种内核空间与用户空间的接口,基于libfs库实现,专用于开发人员调试,便于向用户空间导出内核空间数据。

        内核开发者经常需要向用户空间应用输出一些调试信息,在稳定的系统中可能根本不需要这些调试信息,但是在开发过程中,为了搞清楚内核的行为,调试信息非常必要。

2. 使用

2.1 自动挂载

        要使用debugfs,需要在内核编译配置中配置 CONFIG_DEBUG_FS=y选项,并且将其自动挂载到默认的目录 /sys/kernel/debug。

2.2 手动挂载

mkdir tmp                            //新建目录(手动挂载点)mount -t debugfs debugfs tmp         //挂载到tmp/ 目录

3. Debugfs的API

//创建和撤销目录及文件struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);struct dentry *debugfs_create_file(const char *name, mode_t mode, struct dentry *parent, void *data, const struct file_operations *fops);void debugfs_remove(struct dentry *dentry);void debugfs_remove_recursive(struct dentry *dentry);//······

4. 应用

4.1 查看GPIO使用情况

//1.去默认挂载点查看gpio的使用情况cat sys/kernel/debug/gpio//2.去手动挂载点(/system/tmp)查看gpio的使用情况mount -rw -o remount /system       //创建tmp目录时提示文件系统只读时重新mount一下该目录cd systemmkdir tmp                          //新建目录(手动挂载点)mount -t debugfs debugfs tmp/      //挂载到/system/tmp 目录cat /system/tmp/gpio//cat 之后就会显示gpio的使用情况GPIOs 0-31, platform/209c000.gpio, 209c000.gpio: gpio-1   (2190000.usdhc cd    ) in  lo gpio-26  (sysfs               ) in  hiGPIOs 32-63, platform/20a0000.gpio, 20a0000.gpio: gpio-34  (OTG_CHARGE_EN       ) out lo gpio-35  (otg-mode            ) out loGPIOs 64-95, platform/20a4000.gpio, 20a4000.gpio: gpio-84  (spi_imx             ) out loGPIOs 96-127, platform/20a8000.gpio, 20a8000.gpio:GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio:······

 

 

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

你可能感兴趣的文章
ecb里使用自定义快捷键切换窗口
查看>>
vim(gvim)支持对齐线
查看>>
CentOS编译安装Lighttpd1.4.28
查看>>
实践HTTP206状态:部分内容和范围请求
查看>>
【C++基础】拷贝构造函数的参数必须是引用类型
查看>>
【C++基础】virtual析构函数
查看>>
【Java基础】面向对象
查看>>
【Java.Web】web.xml详解
查看>>
J2EE的技术体系
查看>>
【Java.Web】Java Web应用程序的规范目录结构,*WEB组件的URL/入口*
查看>>
【基础篇】计算机网络
查看>>
OSI 7层详解
查看>>
【C++基础】重载overload、重写(覆盖)override、隐藏hide的区别
查看>>
【算法详解】洗牌算法
查看>>
【设计模式基础】行为模式 - 1 - 观察者(Observer)
查看>>
从关系型数据库到非关系型数据库
查看>>
【数据库基础】数据库事务 - Transaction
查看>>
【设计模式基础】行为模式 - 3 - 职责链(Chain of responsibility)
查看>>
【Java基础】反射 - Reflection
查看>>
【C++基础】const成员函数
查看>>