如何使用的kgdb ARM的? [英] How to use kgdb on ARM??

查看:405
本文介绍了如何使用的kgdb ARM的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即时通讯使用的ARMv7 作为目标机。我编了Linux的源 2.6.34.13 的目标。

Im using ARMv7 as a target machine. I have compiled the Linux source 2.6.34.13 for target.

目标与主机(Linux开发机)通过串口连接使用小型机。

Target is connected with Host(Linux Development machine) through serial port using minicom.

目标被装入新的内核和KGDB在命令提示符下启用。

Target is loaded with new kernel and KGDB is enabled in command prompt.

$ echo ttyAMA0 > /sys/module/kgdboc/parameters/kgdboc 
$ echo g > /proc/sysrq-trigger

输入KGDB ...的提示信息,并等待命令。

Entering KGDB... message is displayed and waits for commands.

主机侧

$arm-none-linux-gnueabi-gdb vmlinux

    gdb > set remotebaud 115200
    gdb > set debug remote 1
    gdb > target remote /dev/ttyS0

这之后,一些指挥通信在默认情况下发生的。

After this, some command communication takes place by default.


  1. qSupported 从主机发送到目标。但如此则返回$#00 qSuppoted不被目标所支持的。同样 HC-1 命令被送到接收,但适当的反应。

  1. qSupported is sent from Host to Target. But qSuppoted is not supported by target so $#00 is returned. similarly ?, HC-1 commands were sent but receives proper response.

qOffsets 没有收到任何目标响应命令。

But qOffsets command not receiving any response from target.

我怀疑vmlinux的。因为如果我给列表在gdb中,它没有显示10行code,而不是它说:

I suspect vmlinux. Because if I give list in gdb, its not showing 10 lines of code instead it says

arch/arm/kernel/head.S : No such file or directory.

请注意::编译内核服务器完成。所以没有源代码在开发计算机可用。但臂GDB查找它似乎head.S中。

Note :: Kernel compilation done in server. so no source is available in development machine. But arm-gdb looks for head.S it seems.

我不知道有什么错即时通讯做。我需要加载的整个内核符号。指导我在这方面。

I am not sure what mistake im doing. I need symbols to be loaded for entire kernel. Guide me in this regards.

推荐答案

最后主机目标线延迟的通信成立时只是BCOS。有一个在开发机和超时问题的内核源代码之间没有任何关系。

Finally Host to Target communication established just bcos of line delay. There is no relationship between kernel source in development machine and time-out issues.

有关某些命令的超时此类问题的说的Qoffset qSupported 是通过解决GtkTerm代替小型机作为串口通讯工具。
不同的是GtkTerm行延迟选项。所以,当这被配置为〜250,没有超时消息之后。简单地建立连接,并在默认情况下破发点等待。如果有人知道如何给这个行延迟 Minicom中将会对大家更有帮助。

For the time-out kind of issue for some of the commands say qOffset and qSupported is solved by using GtkTerm instead of minicom as the serial port communication tool. Difference is "line delay" option in GtkTerm. so when this is configured to ~250, there is no timeout message thereafter. simply connection established and waits at default break point. If anyone knows how to give this "line delay" in minicom will be more helpful to everyone.

是ofcourse,我们需要源$ C ​​$ C为列表命令来执行。但如果没有这些人士还,我们可以调试即 SI,BT 可以用的vmlinux 的帮助和<$执行C $ C>的System.map 。

yes ofcourse, we need source code for list command to execute. but without those source also, we can debug i.e si, bt can be executed with the help of vmlinux and system.map.

注::设置调试远程1是没有必要的。这给指挥通信主机的详细显示。对于更详细的视图,组调试串口1

Note:: set debug remote 1 is not necessary. This gives detailed display of host to command communications. For more detailed view, set debug serial 1.

这篇关于如何使用的kgdb ARM的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆