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