25、驱动调试之打印到proc虚拟文件
2024-08-31 06:26:41
1、dmesg指令是通过读/proc/kmsg来获取打印信息,也可以通过cat /proc/kmsg打印;
说明:kmsg是环形缓存区,只能读一次
2、内核中fs/proc目录下有相关文件,比如proc_misc.c,在入口函数中可以看到(4.3.2内核改到kmsg.c文件中)
#ifdef CINFIG_PRINTK
entry = create_proc_entry("kmsg"--------);//在proc下创建kmsg文件
entry ->proc_fops = &proc_kmsg_operations;//proc_kmsg_operations是个file_operation结构体,提供对文件的读写函数
3、模仿printk制作myprintk函数,数据写到mylog_buf,读/proc/mymsg获得数据
4、通过EXPORT_SYMBOL(函数名)导出函数给外部驱动使用,外部驱动在使用的时候通过extern int myprintk(const char *fmt,...)声明
5、如果应用程序使用到了中断,然应用程序后台运行,通过cat /proc/interrupts可以查看中断信息,比如中断次数,
最新文章
- java 静态内部类小总结
- Python之路【第二十三篇】爬虫
- C++的单例模式与线程安全单例模式(懒汉/饿汉)
- 解决Ckeditor编辑器不显示html实体,自动过滤html的问题
- EF5.0增删改查的写法及执行Sql的方法
- Bootstrap的clearfix
- 史上最详细版!java文件打包成exe,在未配置安装JDK和未配置的电脑上运行--转载
- centos用yum安装mysql-server
- Android初级教程图片信息
- 浅尝Spring Cloud Sleuth
- 每天一个linux命令(2):cd命令
- php 下载完成后删除文件
- PySpark理解wordcount.py
- 使用注解配置 AOP
- 使用Servlet动态生成验证码
- CAN通信(STM32)
- UVA-701 The Archeologists' Dilemma (数论)
- 25. oracle密码过期解决
- flask的g对象
- Python 从零搭建 Conf_Web 配置管理平台