如何使用的kgdb ARM的? [英] How to use kgdb on 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.
-
qSupported
从主机发送到目标。但如此则返回$#00 qSuppoted不被目标所支持的。同样?
,HC-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屋!