首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >avr和ddd在avr上的jtag调试

avr和ddd在avr上的jtag调试
EN

Stack Overflow用户
提问于 2020-05-22 10:45:12
回答 1查看 206关注 0票数 0

我尝试在AVR 8位微控制器上使用jtag进行调试。

avarice --jtag /dev/ttyUSB0 0 :4444 ddd液晶显示器-调试器avr-gdb

在本届会议上,我要:

目标远程本地主机:4444 断主

代码语言:javascript
复制
Breakpoint 1 at 0x244: file lcd_test.cpp, line 254.

现在目标停止,pc正确:

但是,如果我查看程序集代码窗口,我的偏移量为0x800000,并且内容错误:

代码语言:javascript
复制
Dump of assembler code from 0x800244 to 0x800344:

0x00800244:  ldd     r1, Y+16        ; 0x10
0x00800246:  std     Z+8, r0 ; 0x08
0x00800248:  sbc     r8, r16
0x0080024a:  xch     Z, r16
0x0080024c:  .word   0x0018  ; ????
0x0080024e:  eor     r1, r0

在带有layoit asm的本地avr中,一切看起来都很好。

知道如何从DDD中的装配窗口获得与avr相关的正确输出吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-22 14:34:51

这是gdb中一个很老的错误!2011年已经报告了这一情况。错误报告包含一个修补程序,可以应用于当前的gdb版本9.1,并按预期工作!

此外,还必须修补ddd:

代码语言:javascript
复制
diff -ur ddd-3.3.12/ddd/GDBAgent.C ddd-3.3.12_patched/ddd/GDBAgent.C
--- ddd-3.3.12/ddd/GDBAgent.C   2009-02-11 18:25:06.000000000 +0100   
+++ ddd-3.3.12_patched/ddd/GDBAgent.C   2014-05-20 09:49:46.147850710 +0200
@@ -3200,7 +3200,8 @@
   {
     string end_( end );
     normalize_address(end_);
-   cmd += ' ';
+    cmd += ',';
+    cmd += ' '; 
cmd += end_;
 }
 return cmd;

更改后,ddd与avr一起工作.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61953224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档