gpt4 book ai didi

GDB远程协议(protocol): how to analyse packets?

转载 作者:行者123 更新时间:2023-12-02 08:40:43 28 4
gpt4 key购买 nike

我有:

  • 带有 eCos 操作系统的专有原型(prototype) ARM 板(基于 Cortex-M3)
  • 主板具有已编程的 RedBoot 引导加载程序
  • 串行线 (RS-232)
  • 适用于 ARM 的 GDB 调试器 (arm-eabi-gdb)
  • 主机操作系统是 Windows/Cygwin 和/或 Linux(实际上,并不重要)

问题:GDB 调试器无法通过串行线连接到目标。

我想要的是:是嗅探GDB远程协议(protocol)的数据包,以了解目标上的GDB stub 是否处于事件状态并正在运行。

详细信息:RedBoot 可以选择将目标的控制权传递给内置的 GDB stub 。我知道 RedBoot 处于事件状态,我可以连接到它并通过串行线路向它发送命令。 The RedBoot manual说可以通过输入 $ 或 + 符号(实际上是 GDB 远程协议(protocol)数据包的前缀)来切换到 GDB stub 。当我发送这些符号时,它似乎适用于终端死机。但我不确定 RedBoot 是否是使用 GDB stub 支持编译的(不要问我为什么:-))。

然后,当我尝试使用 GDB 调试器连接到开发板时,我得到以下图片(在 Windows 上):

(gdb) target remote COM3
Remote debugging using COM3
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...

端口正确,波特率也正确。实际上,如果我尝试对另一个未连接任何东西的串行端口执行相同的操作,我会得到相同的输出。

我想知道的是GDB stub 是否发回任何东西?

直觉上我认为可能

set verbose on

会有帮助,但是GDB手册说它的效果非常有限,而我的情况超出了它的范围。

也许可以使用启用调试日志记录的宏来编译 GDB 调试器?

最佳答案

What I want to know is does GDB stub send back anything or not?

执行此操作(在目标远程之前):

(gdb) set debug remote 1

关于GDB远程协议(protocol): how to analyse packets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13496389/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com