完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于需要为自己的SoC建立一套片上调试系统,我正在学习JTAG方面的知识。初步的想法是用JTAG配合openocd和GDB,最近在试验tiny6410和openjtag时遇到了困难,想了几天没有解决,请求帮助。
使用example/6410中的文件,启动时出现错误,错误信息如下: Open On-Chip Debugger 0.4.0 (2010-10-28-17:39) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 500 jtag_ntrst_delay: 500 trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain Info : device: 4 "2232C" Info : deviceID: 341266712 Info : SerialNumber: FTUR2GI4A Info : Description: USB<=>JTAG&RS232 A Info : clock speed 1000 kHz Info : JTAG tap: s3c6410.etb tap/device found: 0x00eb509d (mfg: 0x04e, part: 0x0eb5, ver: 0x0) Warn : JTAG tap: s3c6410.etb UNEXPECTED: 0x00eb509d (mfg: 0x04e, part: 0x0eb5, ver: 0x0) Error: JTAG tap: s3c6410.etb expected 1 of 1: 0x2b900f0f (mfg: 0x787, part: 0xb900, ver: 0x2) Info : JTAG tap: s3c6410.cpu tap/device found: 0x000000ff (mfg: 0x07f, part: 0x0000, ver: 0x0) Warn : JTAG tap: s3c6410.cpu UNEXPECTED: 0x000000ff (mfg: 0x07f, part: 0x0000, ver: 0x0) Error: JTAG tap: s3c6410.cpu expected 1 of 1: 0x07b76f0f (mfg: 0x787, part: 0x7b76, ver: 0x0) Error: Trying to use configured scan chain anyway... Error: s3c6410.cpu: IR capture error; saw 0x1f not 0x01 Info : JTAG tap: s3c6410.etb tap/device found: 0x00eb509d (mfg: 0x04e, part: 0x0eb5, ver: 0x0) Warn : JTAG tap: s3c6410.etb UNEXPECTED: 0x00eb509d (mfg: 0x04e, part: 0x0eb5, ver: 0x0) Error: JTAG tap: s3c6410.etb expected 1 of 1: 0x2b900f0f (mfg: 0x787, part: 0xb900, ver: 0x2) Info : JTAG tap: s3c6410.cpu tap/device found: 0x000000ff (mfg: 0x07f, part: 0x0000, ver: 0x0) Warn : JTAG tap: s3c6410.cpu UNEXPECTED: 0x000000ff (mfg: 0x07f, part: 0x0000, ver: 0x0) Error: JTAG tap: s3c6410.cpu expected 1 of 1: 0x07b76f0f (mfg: 0x787, part: 0x7b76, ver: 0x0) Error: Trying to use configured scan chain anyway... Error: s3c6410.cpu: IR capture error; saw 0x1f not 0x01 Command handler execution failed Warn : jtag initialization failed; try 'jtag init' again. 如果把openocd.cfg中的 # trace buffer if { [info exists ETBTAPID ] } { set _ETBTAPID $ETBTAPID } else { # force an error till we get a good number set _ETBTAPID 0x2b900f0f } if { [info exists CPUTAPID ] } { set _CPUTAPID $CPUTAPID } else { # force an error till we get a good number set _CPUTAPID 0x07b76f0f } 中的两个十六进制数分别改为“found:”后的0x00eb509d及0x000000ff,则蓝色划线部分相关的错误消息可以消除。 把 jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID 改为 jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1f -irmask 0x1f -expected-id $_CPUTAPID 则红色粗体部分的错误信息可以消除。 这样改完之后,继续运行报出的运行错误记录是: Open On-Chip Debugger 0.5.0-dev (2011-01-10-14:22) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' 100 kHz Warn : s3c6410.cpu: nonstandard IR value adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain Info : clock speed 100 kHz Info : JTAG tap: s3c6410.etb tap/device found: 0x00eb509d (mfg: 0x04e, part: 0x0eb5, ver: 0x0) Info : JTAG tap: s3c6410.cpu tap/device found: 0x000000ff (mfg: 0x07f, part: 0x0000, ver: 0x0) Error: 'ARM11 target' JTAG error SCREG OUT 0x00 Error: unexpected ARM11 ID code Polling target failed, GDB will be halted. Polling again in 100ms Polling target failed, GDB will be halted. Polling again in 300ms Polling target failed, GDB will be halted. Polling again in 700ms Polling target failed, GDB will be halted. Polling again in 1500ms Polling target failed, GDB will be halted. Polling again in 3100ms 有什么建议吗?谢谢。 |
|
相关推荐
7个回答
|
|
先用SD卡启动,看能否halt住
|
|
|
|
使用6410遇到类似的问题,求解决方案:
|
|
|
|
telnet上去,执行reset halt 没问题的话,就可以使用了
|
|
|
|
仍然有点问题:
Open On-Chip Debugger > reset init FT_Write returned: 4 couldn't write MPSSE commands to FT2232 TRST/SRST error -104 FT_Write returned: 4 couldn't write MPSSE commands to FT2232 TRST/SRST error -104 FT_Write returned: 4 couldn't write MPSSE commands to FT2232 TRST/SRST error -104 FT_Write returned: 4 couldn't write MPSSE commands to FT2232 error: -104 Command handler execution failed in procedure 'reset' called at file "command.c", line 650 called at file "command.c", line 361 > 不知道这个问题是什么引起的? |
|
|
|
重新接OPENJTAG
|
|
|
|
reset init并不解决问题,之前已经有错误了,错误的问题大概是识别不到ARM11核。ID都读正确了,不知道为什么识别不了?不知道是不是软件版本问题?
Open On-Chip Debugger > reset init JTAG tap: s3c6410.etb tap/device found: 0x2b900f0f (mfg: 0x787, part: 0xb900, ver: 0x2) JTAG tap: s3c6410.cpu tap/device found: 0x07b76f0f (mfg: 0x787, part: 0x7b76, ver: 0x0) unexpected ARM11 ID code examine-fails: -4 Command handler execution failed in procedure 'reset' called at file "command.c", line 650 called at file "command.c", line 361 > halt Target not examined yet Command handler execution failed in procedure 'halt' called at file "command.c", line 650 called at file "command.c", line 361 > flash info 0 Target not halted Command handler execution failed in procedure 'flash' called at file "command.c", line 650 called at file "command.c", line 361 |
|
|
|
联系我QQ吧,17653039
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2156 浏览 6 评论
1962 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4520 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 18:36 , Processed in 0.759235 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号