标签:
嵌入式 Linux 的调试技术:
Linux内核调试一直被很多人认为是非常困难的,大多数人宁愿直接使用printk 函数输出调试信息,也不愿意使用各种命令 - (gdb、 gdbserv~r.、.kgdb等)进行调试。因为这样做并不定能换来更多的好处,本主主要介绍了传统的 printk 函数调试技术外,也介绍了其他的调试技术。这些调试技术并不一定都要用到可根据实际情况决定使用其中的一种或儿种。
大多数内核开发人员认为 kgdb 是最好的内核调试工具。 Kgdb 除了提供类似 printk 函数的日志 输出功能,还允许开发人员直接在 PC 上通过 GOB 链接目标设备。在 2.6.15.5 及以前的 Lim肌肉核 版本中并不包含 kgdb,但可以到 http://kgdb. linsyssoft.com 去下载相应的 kgdb 程序库。 Kgdb 包含了两部分: kgdb 内核和一牵连接接口。这些接口目前支持串口 tty 设备连接和以太 网连接。其中串口连接需要通过内核参数 kgdboc 指定要连接的串口 tty 设备;以太网连接通过内核 参数 kgdboe 指定 IP 和端口号。 kgdb 支持多种处理器架构, 例如, X86、 ARM 等。由于这些处理 器架构茬异很大,所以 kgdb 单独为每个支持的处理器架构实现了 kgdb 内核,如 ARM 架构的 kgdb 内核源代码文件是 arch/arm/kemeVkgdb.c。要想用 kgdb 调试 Linux 内核,首先需要配置 Linux 内核。使用 make menuconfig 命令进入 Linux 内核的配置菜单,进入 “Kernel backing气找到并选中“KGDB: kernel debugger”菜单项。使用 kgdb调试Linux:内核首先需要配置内核参数,这些参数通知 Linux 内核要如何进行调试。假设要通过 U~B 转 E:OM_ 口数据线进行调试,需要将 kgdboc 参数值设为 ttyUSBO,传输数率为 115200, 一般会指定 kgdbwait。 这些参数需要在 S3C 开发板启动过程中按回车进入 Uboot 模式, 然后使用 seten罕命令设置 Linux 内核的启动参数,然后使用 saveenv 和 reset命令保存和重新启动 Linux 内核。接下来的工作就是使用各种.gdb命令进行Linux 内核调试了。
http://home.cnblogs.com/u/lkm-6398/
标签:
原文地址:http://www.cnblogs.com/lkm-6398/p/5638329.html