Linux设备驱动调试之printk
来源:互联网 发布:南达科他级战列舰数据 编辑:程序博客网 时间:2024/06/09 16:27
终极法宝:
//#define DBG_PRINTK printk#define DBG_PRINTK(x...) printk(KERN_DEBUG"%s %s %d\n", __FILE__, __FUNCTION__, __LINE__);
驱动程序的调试
一. 打印: prink, 自制proc文件
UBOOT传入console=ttySAC0 console=tty1
1、 内核处理UBOOT传入的参数
console_setup
add_preferred_console // 我想用名为”ttySAC0”的控制台,先记录下来
2、. 硬件驱动的入口函数里:
drivers/serial/s3c2410.c
register_console(&s3c24xx_serial_console);
3、源码分析
printk vprintk /* Emit the output into the temporary buffer */ // 先把输出信息放入临时BUFFER vscnprintf // Copy the output into log_buf. // 把临时BUFFER里的数据稍作处理,再写入log_buf // 比如printk("abc")会得到"<4>abc", 再写入log_buf // 可以用dmesg命令把log_buf里的数据打印出来重现内核的输出信息 // 调用硬件的write函数输出 release_console_sem(); call_console_drivers(_con_start, _log_end); // 从log_buf得到数据,算出打印级别 _call_console_drivers(start_print, cur_index, msg_level); // 如果可以级别够格打印 if ((msg_log_level < console_loglevel __call_console_drivers con->write(con, &LOG_BUF(start), end - start);
阅读全文
0 0
- Linux设备驱动调试之printk
- linux设备驱动学习笔记--内核调试方法之printk
- linux驱动调试之printk()
- linux驱动调试之printk
- 学习笔记 --- LINUX 驱动调试之printk
- linux驱动调试之printk的原理
- Linux设备驱动程序——驱动调试printk()
- Linux 内核调试之 printk
- 驱动调试之printk的原理
- 驱动调试之printk的使用
- 设备驱动-----printk
- Linux设备驱动调试
- linux内核调试技术之printk
- Android/Linux驱动开发之使用dev_dbg调试设备驱动
- Android/Linux驱动开发之使用dev_dbg调试设备驱动
- Linux驱动开发之使用dev_dbg调试设备驱动
- Android/Linux驱动开发之使用dev_dbg调试设备驱动
- Android/Linux驱动开发之使用dev_dbg调试设备驱动
- 建模进度3
- Java随机产生月份
- poj2728:Desert King(0/1分数规划,最小比率生成树)
- NumPy 高级索引和数组概念
- JDBC连接mysql
- Linux设备驱动调试之printk
- 一个快速实现搜索智能提示的方法
- AVL树之插入与判断
- 2017GDOI
- 1550 [CF1000]Shell Game
- c语言 函数指针
- 各种return的情况下try catch finally的执行顺序
- 云计算概览
- 熵编码(entropy encoder)