ARM Coresight DS-5 系列 3 - DS-5 断点设置及常用Debug 命令


请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】


上篇文章:ARM Coresight DS-5 系列 2 - ARM Cortex-M DS-5 Trace 使用
下篇文章:ARM Coresight DS-5 系列 4 - ARM Cortex-M DS-5 加载 ELF 文件运行

1.1 DS-5 Debug 方法梳理

通常在调试过程中需要打断点来进行单步调试,这个时候可以按照下面步骤来进行:

  • 在使用 DS-5 Debug 之前需要先 load 所编译的 elf 文件:
    在这里插入图片描述

  • 设置好路径:
    在这里插入图片描述
    在这里插入图片描述

1.2.1 DS-5 设置断点 Debug

在上面完成 elf 文件的 load 及 路径设置后,我们就可以使用DS-5进行设置断点进行调试了。下面以 在 i2c_debug.c 中的 i2c_debug函数中

简单设置一个断点来介绍:
在这里插入图片描述

1.2.2 DS-5 常用 Debug 命令

1)查看寄存器命令

info registers
R0          0x200C4EDE
R1          0x000B6E24
R2          0x00000067
R3          0x00000073
R4          0xDEADBEEF
R5          0xDEADBEEF
R6          0xDEADBEEF
R7          0x200C5F58
R8          0xDEADBEEF
R9          0xDEADBEEF
R10         0xDEADBEEF
R11         0xDEADBEEF
R12         0x00000008
SP          0x200C5F58
SP_MAIN     0x2001F4C8
SP_PROCESS  0x200C5F58
LR          0x0001970F
PC          0x0005D258
xPSR        0x81010000   Nzcvq_T_inactive_0
PRIMASK     0x00000000
BASEPRI     0x00000000
FAULTMASK   0x00000000
CONTROL     0x00000006

2)查看 memory/寄存器命令

x/w 0x56020000
0x56020000:  0x00000000

3)查看函数栈

info stack
#0 rt_strcmp(cs = 0x200C4EE1 "get", ct = 0xB6E27 "set") at kservice.c:468
#1 i2c_debug_mode_help(argc = 5, mode = 0x200C4EDE "i2cget") at i2c_debug.c:64
#2 i2c_debug(argc = 5, argv = (char**) 0x200C601C) at i2c_debug.c:89
#3 _msh_exec_cmd(cmd = 0x200C4EDE "i2cget", length = 22, retp = (int*) 0x200C6078) at msh.c:342
#4 msh_exec(cmd = 0x200C4EDE "i2cget", length = 22) at msh.c:402
#5 finsh_thread_entry(parameter = (void*) 0x0) at shell.c:722
#6 _rt_thread_exit() at thread.c:105


backtrace -5
#2 i2c_debug(argc = 5, argv = (char**) 0x200C601C) at i2c_debug.c:89
#3 _msh_exec_cmd(cmd = 0x200C4EDE "i2cget", length = 22, retp = (int*) 0x200C6078) at msh.c:342
#4 msh_exec(cmd = 0x200C4EDE "i2cget", length = 22) at msh.c:402
#5 finsh_thread_entry(parameter = (void*) 0x0) at shell.c:722
#6 _rt_thread_exit() at thread.c:105
  1. 内存写操作
memory set 0x66020000 32 0x1
x/w 0x66020000
0x66020000:  0x00000001

上篇文章:ARM Coresight DS-5 系列 2 - ARM Cortex-M DS-5 Trace 使用
下篇文章:ARM Coresight DS-5 系列 4 - ARM Cortex-M DS-5 加载 ELF 文件运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公讲 ARM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值