韦东山Linux嵌入式课程社区
直播中

h1654155275.5889

7年用户 206经验值
私信 关注

为什么使用OpenOCD+OpenJTAG调试裸机程序会出现下面这种情况?

使用的是创博2410s试验箱
一、操作过程和现象如下
       1.打开PC机
       2.连接开发板和OpenJTAG的串口线
       3.开发板上电
       现象为:LED现实跑马灯文字(8X8LED块),液晶屏现实图像,可见板子已经成功启动到linux下了。
       4.插上开发板和OpenJTAG的20Pin的JTAG线
       5.使用USB线连接PC机和OpenJTAG。
       现象为:板子上所有东西都不动了。可见JTAG设计的确是霸道,系统就算暂停了吧。
       6.运行OpenOCD,提示已经找到设备了。用telnet登录4444,也能成功了。板子上的跑马灯又开始了,好像板子自动重启了。
       心情为:窃喜,总算可以用OpenOCD连上JTAG了。
       7.poll查看发现cache和mmu都开着,使用指令关上。
       8.。。。。。。
       以上操作和telnet的反馈都和书上一致。让人费解的情况出现了。
       ①halt之后,板子上的跑马灯还在闪,好像根本没停一样(telnet软件的提示是说已经停了啊,用poll查询也是停了,为什么这板子实际就没停呢?脱缰了?)。
       ②用百问光盘里面的leds控制板子上的led也是失败了。我的板子上面即有7段数码的LED,也有8X8的面阵LED,也不知道例程的leds到底控制的是哪个?难道是硬件的I/O端口不同。这个倒需要核实核实。


问题:
      通过OpenOCD实施Halt操作后,板子上面的led是不是应该停止闪烁了,为什么我的这个还在闪烁呢?都有可能是些什么原因呢?简单讲讲如何分析这些原因呢?至少讲讲如何排除是OpenJTAG板子的原因吧。

回帖(5)

陈韵瑄

2019-11-5 08:46:45
执行halt之后,灯应该不闪了;
如果还闪,就执行下面的命令读内存看看是否成功:
mdw 0

因为只有halt住了,才能读内存
举报

qwe041

2019-11-5 09:00:56
C:Program Filesopenocd-r717bin>openocd-ftd2xx.exe
Open On-Chip Debugger (2008-06-19 19:00) svn: 717
URL: http://svn.berlios.de/svnroot/repos/openocd/trunk
Info:    options.c:50 configuration_output_handler(): jtag_speed: 0, 0
Info:    options.c:50 configuration_output_handler(): Open On-Chip Debugger (200
8-06-19 19:00) svn: 717
Info:    options.c:50 configuration_output_handler(): fast memory access is enab
led
Info:    jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x0032409d (Manufa
cturer: 0x04e, Part: 0x0324, Version: 0x0)
Info:    server.c:78 add_connection(): accepting 'telnet' connection from 0
举报

周静

2019-11-5 09:11:20
Open On-Chip Debugger
> poll
target state: running
> halt
target state: halted
target halted in ARM state due to debug request, current mode: Supervisor
cpsr: 0x60000013 pc: 0xc001f944
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> arm920t cp15 2 0
2: 00000000
> step
target state: halted
target halted in ARM state due to single step, current mode: Supervisor
cpsr: 0x60000013 pc: 0xc001f948
MMU: disabled, D-Cache: disabled, I-Cache: disabled
>


按道理上讲led应该停止闪烁了,可是这个创博的2140s的8X8面阵LED仍然在跑马灯。
举报

孙财秀

2019-11-5 09:23:51
Open On-Chip Debugger
> poll
target state: running
> halt
target state: halted
target halted in ARM state due to debug request, current mode: Supervisor
cpsr: 0x60000013 pc: 0xc001f944
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> arm920t cp15 2 0
2: 00000000
> step
target state: halted
target halted in ARM state due to single step, current mode: Supervisor
cpsr: 0x60000013 pc: 0xc001f948
MMU: disabled, D-Cache: disabled, I-Cache: disabled
> mdw0
Command mdw0 not found
> mdw 0
0x00000000: ea00000c
>
举报

更多回帖

发帖
×
20
完善资料,
赚取积分