OS服务——调试——GDB存根

GDB存根

概述

GDB特性提供了一个GDB远程串行协议(RSP)的实现,它允许您使用GDB远程调试Zephyr。

该协议支持不同的连接类型:串行、UDP/IP和TCP/IP。和风目前只支持串行设备通信。

GDB程序作为客户端,而Zephyr充当服务器。启用此功能后,Zephyr将在gdb_init()启动gdbstub服务并等待GDB连接后停止其执行。一旦建立了连接,就可以与西风同步交互。请注意,目前不可能向目标服务器异步发送命令。

功能

支持以下功能:

  • 添加和删除断点
  • 继续并执行目标
  • 打印回溯
  • 读取或写取通用寄存器
  • 读取或写取内存

启用GDB Stub

可以使用CONFIG_GDBSTUB选项启用GDB存根。

使用串行后端

可以使用CONFIG_GDBSTUB_SERIAL_BACKEND选项启用GDB存根的串行后端。

由于串行后端利用UART设备来发送和接收GDB命令,

如果板上有备用的UART设备,将CONFIG_GDBSTUB_SERIAL_BACKEND_NAME设置为备用的UART设备,以便打印()和日志消息不会打印到用于GDB的同一UART设备。

对于只有一个UART设备的电路板,如果它们同时使用相同的UART设备进行输出,则必须禁用printk()和日志记录。与GDB相关的消息可能会与日志消息交织,这可能会产生意想

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值