printk 的简要分析
来源:互联网 发布:红警扫矿软件手机 编辑:程序博客网 时间:2024/04/26 06:13
Printk的级别:
在内核代码 include/linux/kernel.h 中有如下代码, 它们表示 0~7这 8 个记录级别的名称。
#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 */
内核会根据uboot里的tty=SACO来找到对应的硬件操作函数;console_setup
Register_console=
串口打印:
1、name=ttySAC0;
2、各种函数;
lcd打印:
1、name
2、各种函数;
Printk 的默认级别是4;
#define DBG_PRINTK printk
调试驱动程序时候就这样用:在驱动里觉得大概有问题的那行添加:
DBG_PRINTK("%s %s %d\n", __FILE__,__FUNCTION__,__LINE__) ,通过这个来判断到底是哪行出错
或 加上打印级别
直接:printk(KERN_DEBUG "%s %s %d\n", __FILE__,__FUNCTION__,__LINE__)
修改printk的级别:要小于第一个的级别才能打印,第二个是默认值
查看:cat /proc/sys/kernel/printk
7 4 1 7
修改:echo "8 4 1 7" > /proc/sys/kernel/printk 如果将console_loglevel被改为1,于是所有的printk信息都不会被打印
在uboot界面设置
Setenv bootargs loglevel=0,其他参数不变,这样所有的打印信息都没有了
但是启动后还可以dmesg命令将缓冲区里的内容打印出来。
Setenv bootargs debug 其他参数不变,这样所有的东西都会被打印出来。
- printk 的简要分析
- 关于printk的分析
- 关于printk的分析
- 关于printk的分析
- Linux kernel printk的分析
- 内核printk的实现分析
- printk的详细原理分析
- 内核printk的实现分析
- Printk的loglevel和日志记录分析
- Printk的loglevel和日志记录分析
- Printk的loglevel和日志记录分析
- Printk的loglevel和日志记录分析
- [系统启动]Printk与sched_clock_init的一点分析
- Printk的loglevel和日志记录分析
- Printk与sched_clock_init的一点分析
- makefile的简要分析
- Launcher3的简要分析
- Android多线程的简要分析
- awk用法详解
- FileUpload控件上传不支持给定路径的格式 问题解决
- IO_体系_总结
- 文章12:初探Nginx架构之进程模型与事件处理机制
- C/C++输入输出流
- printk 的简要分析
- poj 2912 Rochambeau
- Splay Tree(伸展树)
- Android Handler机制
- Collision probability of p-stable LSH
- window7+openni的kinect配置
- 谷歌地图为何完胜苹果地图:员工超7000人
- 使用 Apache CXF 实现 Web Service 详解
- fork出来的子进程最好总是用_exit退出