我想通过minicom使用gdb在arm板上调试vmlinux。我需要做什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想通过minicom使用gdb在arm板上调试vmlinux。我需要做什么?相关的知识,希望对你有一定的参考价值。

我有一个扶手板,我通过电线连接我的linux(主机)系统。我在arm处理器中插入带有vmlinux.uimg的SD卡,并在主机系统上使用minicom。现在我想使用gdb在arm板上调试vmlinux。我需要做什么?我尝试在主机上的minicom和gdb上使用gdbserver。但我不知道它究竟是如何工作的...我应该在哪里复制vmlinux以及我应该如何调试......

答案

完整答案取决于您的Linux版本,开发和目标设置。以下是一些研究链接,

您需要使用KGDB支持配置内核,并且可以使用控制台作为从开发计算机控制KGDB的链接。您需要开发计算机上的vmlinux目标文件的副本;如果它也是构建机器很容易。有GDB脚本可以访问内核中的便捷信息。这是GDB内核调试链接中的信息。

你不使用gdbserver;这是针对用户空间的linux进程。调试内核的工具是kgdb,这需要将代码放入内核。通常程序gdbserver使用内核工具来控制进程。这对内核本身不起作用。

可能并非所有串行端口都支持kgdb。某些版本的Linux允许使用kgdb over the network。但是,它不像串行端口那样存在于内核中。您可以使用内核参数kdbgoc,sysfs或magic sysreq激活kgdb over serial。某些设备(和Linux版本)可能支持JTAG类型kgdb。

以上是关于我想通过minicom使用gdb在arm板上调试vmlinux。我需要做什么?的主要内容,如果未能解决你的问题,请参考以下文章

Qt Creator远程调试嵌入式ARM开发板上的Linux程序

Windows下通过ARM目标板上的gdbserver进行远程调试的方法

2014025663(05)《嵌入式程序设计》第四周学习总结

开发板上使用core文件调试

linux内核调试技术之GDB和GDBServer

如何使用 gdb 在目标 ARM MCU 上调试闪存程序