keer_zu 发表于 2020-3-19 14:31

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

本帖最后由 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


页: [1]
查看完整版本: 通过串口看到printk打印信息的方法