21.9 KGDB
Linux直接提供了对KGDB的支持,KGDB采用了典型的嵌入式系统“插桩”技巧,一般依赖于串口与调试主机通信。为了支持KGDB,串口驱动应该实现轮询收发单一字符的成员函数,以供
drivers/tty/serial/kgdboc.c调用,譬如drivers/tty/serial/8250/8250_port.c中的:
static const struct uart_ops serial8250_pops = {
................................................................................
#ifdef CONFIG_CONSOLE_POLL
.poll_get_char = serial8250_get_poll_char,
.poll_put_char = serial8250_put_poll_char,
#endif
};
在编译内核时,运行make ARCH=arm menuconfig时需选择关于KGDB的编译项目,如图21.6所示。