3

这是我在这块板上的第一篇文章,我对 JTAG 调试的世界也很陌生,我以前使用过一些商业产品,但我想切换到 OpenOCD,到目前为止我遇到了很多失败. 我尝试使用 Flyswatter2 和他们提供的套件连接到我的 Beaglebone Black,我的大部分结果看起来像这样:

$ ./openocd -f interface/ftdi/flyswatter2.cfg -f  
board/ti_beaglebone_with_fs2.cfg -c init -c "reset init"  
Open On-Chip Debugger 0.10.0-dev-00149-g8229d52 (2015-12-23-11:37)  
Licensed under GNU GPL v2  
For bug reports, read  
    http://openocd.org/doc/doxygen/bugs.html  
Warn : Interface already configured, ignoring  
adapter speed: 16000 kHz  
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.  
Warn : target name is deprecated use: 'cortex_a'  
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain  
connect_deassert_srst  
Info : clock speed 16000 kHz  
Info : JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017,
part: 0xb944, ver: 0x2)  
Info : JTAG tap: am335x.dap enabled  
Warn : Timeout (1000ms) waiting for ACK=OK/FAULT in JTAG-DP transaction
- aborting  
Info : JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017,
part: 0xb944, ver: 0x2)  
Info : JTAG tap: am335x.dap enabled  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: JTAG-DP OVERRUN - check clock, memaccess, or reduce jtag speed  
Error: MEM_AP_CSW 0x2800060, MEM_AP_TAR 0x0  
Error: Target not examined yet  
in procedure 'reset'  
in procedure 'ocd_bouncer'  

我试图成功地降低适配器速度,设备实际上会重新启动,但是一旦内核启动,所有地狱都会崩溃,此时我会收到与上述类似的错误消息。

我不确定从哪里开始,因为这些错误消息对我来说仍然有点模糊,有人有什么想法/想法/建议吗?如果需要,我愿意挖掘源代码并进行一些调整,但现在我有点太无知了!

4

2 回答 2

3

好吧,因为我似乎找不到任何其他帖子显示 ppl 成功地使用 openocd 调试 BeableBone Black,所以我可以保证它可以工作。我的命令行(使用 TIAO):

sudo ../src/openocd -f interface/ftdi/tumpa.cfg -f board/mybbb.cfg

请注意,路径来自我构建它并从源代码运行它的事实(您可能需要其他路径前缀)。mybbb.cfg 基本上是flyswatter的那个,除了接口线。(https://www.tincantools.com/w/images/f/f7/ti_beaglebone_with_fs2.cfg

Openocd 可能有点难以使用,但它确实迫使您了解 JTAG 到底发生了什么。如果您不想这样做,只需从 TI 购买 80 美元的连接器,它就可以正常工作(前提是您将排针正确焊接在其上)

仅供参考:在我的案例中成功的输出(对差异有用):

testbox@testbox-VirtualBox:~/openocd/openocd-code/tcl$ sudo ../src/openocd -f interface/ftdi/tumpa.cfg -f board/ti_beaglebone.cfg
Open On-Chip Debugger 0.10.0-dev-00322-g406f4d1 (2016-06-09-09:22)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
none separate
adapter speed: 16000 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
trst_and_srst separate srst_gates_jtag trst_push_pull srst_push_pull connect_deassert_srst
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling"
Info : clock speed 16000 kHz
Info : JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017 (Texas Instruments), part: 0xb944, ver: 0x2)
Info : JTAG tap: am335x.dap enabled
Info : am335x.cpu: hardware has 6 breakpoints, 2 watchpoints

最后,关于你的错误,我会仔细检查焊料,因为 openocd 真的是说你的时钟可能太快了。具有小泄漏的快速时钟可以解释您的问题吗?

最后要注意的一件事:

如果您想在最新内核的 beaglebone上使用 JAG 调试 linux 内核,您可能需要一个补丁. 如果没有,一旦 linux 启动,您将在 openocd 中出现错误(但也使用 TI 的加密狗),因为它会弄乱 JTAG。请参阅https://e2e.ti.com/support/embedded/linux/f/354/t/363421中的 1 行补丁 (花了我一段时间才找到!)

祝你好运!

于 2016-06-10T06:56:47.787 回答
0

确保您的配置文件提供了目标的良好 ID 供应商和 ID 产品。该命令lsusb为您提供目标 ID。

于 2016-02-08T16:56:50.980 回答