ARM DS-5 断点设置及常用Debug 命令

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)查看寄存器命令

  1. info registers
  2. R0 0x200C4EDE
  3. R1 0x000B6E24
  4. R2 0x00000067
  5. R3 0x00000073
  6. R4 0xDEADBEEF
  7. R5 0xDEADBEEF
  8. R6 0xDEADBEEF
  9. R7 0x200C5F58
  10. R8 0xDEADBEEF
  11. R9 0xDEADBEEF
  12. R10 0xDEADBEEF
  13. R11 0xDEADBEEF
  14. R12 0x00000008
  15. SP 0x200C5F58
  16. SP_MAIN 0x2001F4C8
  17. SP_PROCESS 0x200C5F58
  18. LR 0x0001970F
  19. PC 0x0005D258
  20. xPSR 0x81010000 Nzcvq_T_inactive_0
  21. PRIMASK 0x00000000
  22. BASEPRI 0x00000000
  23. FAULTMASK 0x00000000
  24. CONTROL 0x00000006


2)查看 memory/寄存器命令

  1. x/w 0x56020000
  2. 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

4)内存写操作
memory set 0x66020000 32 0x1
x/w 0x66020000
0x66020000: 0x00000001

posted @   咸鱼书生  阅读(208)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示