printk,printf 打印调试

  • Post author:
  • Post category:其他


includelinux/kernel.h

 #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 :内核打印调试函数,printk(

KERN_INFO

“INFO/n”);

printf : 应用程序开发调试常用,printf(“INFO/n”);

======================================================

可以通过命令 cat /proc/sys/kernel/printk来查看当前开发板的Log等级

获取到的参数默认四个值: 4 4 1 7

       DEFAULT_CONSOLE_LOGLEVEL,   终端级别

       DEFAULT_MESSAGE_LOGLEVEL,   默认级别

       MINIMUM_CONSOLE_LOGLEVEL, 让用户使用的最小级别

       DEFAULT_CONSOLE_LOGLEVEL,   默认终端级别

这几个值在sysctl.conf中,系统启动时就会将这几个值写入到 /proc/sys/kernel/printk中。



修改值方式 :

echo  0 4 1 7  > /proc/sys/kernel/printk 可以通过etho 的方式修改这个值



版权声明:本文为qq_26620783原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。