Linux-2.6-Mini2440
CONFIG_SERIAL_SAMSUNG_DEBUG 是serial里面打开dbg的宏开关,dbg调用printascii,
printacii是汇编语言写成,在kernel/arch/arm/kernel/debug.S有定义.它不做实质的动作,主要判断string的结束。这个函数会call几个函数: addruart, waituart, senduart, busyuart . 这些函数要求由汇编写成,并且和体系结构相关,一般都一定在下面的文件里 kernel/arch/arm/mach-xxx/include/mach/debug-macro.S 而且这个文件不会被单独编译,他其实就被包含在kernel/arch/arm/kernel/debug.S中:
#include <mach/debug-macro.S> 打开CONFIG_DEBUG_LL这个标志以后,你就可以得到即时debug message了
-------以上内容转自:http://blog.csdn.net/cpuwolf/article/details/4492822-------
在 /drivers/serial/Kconfig里面,
468 config SERIAL_SAMSUNG_DEBUG
469 bool "Samsung SoC serial debug"
470 depends on SERIAL_SAMSUNG && DEBUG_LL
471 help
472 Add support for debugging the serial driver. Since this is
473 generally being used as a console, we use our own output
474 routines that go via the low-level debug printascii()
475 function.
431,2-5 29%
474 routines that go via the low-level debug printascii()
475 function.
由 depends on SERIAL_SAMSUNG && DEBUG_LL 可知,CONFIG_SERIAL_SAMSUNG_DEBUG依赖于SERIAL_SAMSUNG && DEBUG_LL
DEBUG_LL 是 Linux kernel Low Level debug,
以下是关于如何打开内核的low level debug 配置
(这部分内容参考http://blog.csdn.net/voice_shen/article/details/6947737)
make menuconfig ---> Kernel hacking ---> 选中:Kernel debugging。
当选中Kernel debugging后,才能看见Kernel low-level debugging functions. 选中即可。
这个时候CONFIG_DEBUG_LL 已经是y, 再回到
make menuconfig-->Device Drivers-->Character devices-->serial drivers-->Samsung SoC serial debug
选中即可。