驱动学习之printk函数

来源:互联网 发布:nestopia mac 按键 编辑:程序博客网 时间:2024/05/20 11:51

       (一) printk函数中几个宏的消息级别的定义

#define KERN_EMERG "<0>"   /*紧急事件,一般是系统崩溃之前的提示信息*/

#define KERN_ALERT   "<1>"  /*必须立即采取行动*/

#define KERN_CRIT      "<2>"  /*临界状态,通常涉及严重的硬件或者软件操作失误*/

#define KERN_ERR       "<3>"  /*用户报告错误状态,设备驱动会经常使用KERN_ERR来报告硬件错误*/

#define KERN_WARNING "<4>" /*对可能出现的情况进行警告,这类情况通常不会对系统造成严重的问题*/

#define KERN_NOTICE  "<5>" /*有必要进行提示的正常情形,许多与安全相关的状态用这个级别进行报告*/

#define KERN_INFO       "<6>" /*内核提示性信息,很多驱动程序再启动的时候以这个级别打印找到的硬件信息*/

#define KERN_DEBUG   "<7>" /*用于调试信息*/

(二)printk函数的使用

static int hello_init(void)
  {
     
     printk(KERN_ALERT "hello world!\n");

          return 0;
 }


其中,/proc/sys/kernel/printk的printk文件可以调节printk的输出级别:

控制台日志级别:一般表示优先级高于该值的消息将被打印到控制台;

默认的消息日志级别:一般表示用户打印没有任何定义优先级的消息(即像上例hello前什么都不写);

最低的控制台日志级别:表示控制台级别可被设置的最小值;

默认的控制台日志级别:用来设置控制台日志级别的默认值。



0 0
原创粉丝点击