打印

通过串口看到printk打印信息的方法

[复制链接]
717|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2020-3-19 14:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 keer_zu 于 2020-3-19 14:33 编辑

通过串口看到内核的打印对于调试内核是十分必要的,否则只能dmesg看到过期的累积信息。

通过串口显示printk打印信息,需要修改内核以下部分,重新编译内核生成镜像文件,下载到硬件系统,就可以了。
需要修改的文件linux-kernel/kernel/printk/printk.c

1415 static void call_console_drivers(int level, const char *text, size_t len) 
1416 {
1417     struct console *con;
1418  
1419     trace_console(text, len);
1420  
1421     if (level >= console_loglevel && !ignore_loglevel)
1422         return;
1423     if (!console_drivers)
1424         return;
1425 #if 0  // #ifndef CONFIG_DYNAMIC_DEBUG
1426     if (!perf_mode_console)
1427         return;
1428 #endif
1429  
1430     for_each_console(con) {
1431         if (exclusive_console && con != exclusive_console)
1432             continue;
1433         if (!(con->flags & CON_ENABLED))
1434             continue; ………
1441     }
1442 }

只需要将上面代码中的宏开关关闭即可,使用 #if 0  代替 #ifndef CONFIG_DYNAMIC_DEBUG


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1352

主题

12436

帖子

53

粉丝