• linux内核打印数据到串口控制台,printk数据不打印问题


                      linux内核打印数据到串口控制台问题

    原文来源:http://i.cnblogs.com/EditPosts.aspx?opt=1

    1、查看当前控制台的打印级别
     cat /proc/sys/kernel/printk
     4    4    1    7
     其中第一个“4”表示内核打印函数printk的打印级别,只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息

    2、修改打印
     echo "新的打印级别  4    1    7" >/proc/sys/kernel/printk

    3、不够打印级别的信息会被写到日志中可通过dmesg 命令来查看

    4、printk的打印级别

    #define KERN_EMERG         "<0>" /* system is unusable */
    #define KERN_ALERT         "<1>" /* action must be taken immediately */
    #define KERN_CRIT          "<2>" /* critical conditions */
    #define KERN_ERR           "<3>" /* error conditions */
    #define KERN_WARNING     "<4>" /* warning conditions */
    #define KERN_NOTICE        "<5>" /* normal but significant condition */
    #define KERN_INFO          "<6>" /* informational */
    #define KERN_DEBUG         "<7>" /* debug-level messages */

    5、printk函数的使用

      printk(打印级别"要打印的信息")这里需要注意打印级别和需要打印的数据中中间没有逗号

           打印级别  既上面定义的几个宏

    KERN_EMERG 
      用于突发性事件的消息,通常在系统崩溃之前报告此类消息。 
    KERN_ALERT
      在需要立即操作的情况下使用此消息。 
    KERN_CRIT 
      用于临界条件下,通常遇到严重的硬软件错误时使用此消息。 
    KERN_ERR
      用于报告错误条件;设备驱动经常使用KERN_ERR报告硬件难题。 
    KERN_WARNING
      是关于问题状况的警告,一般这些状况不会引起系统的严重问题。 
    KERN_NOTICE 
      该级别较为普通,但仍然值得注意。许多与安全性相关的情况会在这个级别被报告。 
    KERN_INFO
      信息消息。许多驱动程序在启动时刻用它来输出获得的硬件信息。

    KERN_DEBUG 

     
  • 相关阅读:
    阿里云主机centos设置虚拟内存
    MySQL表名不区分大小写的设置方法
    java.security.KeyException
    Java.net.URLConnection和Apache HTTPClient的主要区别对比
    linux常用命令
    minerd
    kill常用
    阿里云centos 6安装Nginx+PHP+MySQL
    打开MySQL数据库远程访问的权限
    centos 安装MySql 5.6
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5344821.html
Copyright © 2020-2023  润新知