2016-01-05 2 views
0

Это мое первое сообщение на этой доске, и я также довольно новичок в мире отладки JTAG, раньше я использовал несколько коммерческих продуктов, но я хотел бы сделать переход на OpenOCD, и я испытывая множество неудач. Я пытался прикрепить к моему Beaglebone Black с помощью Flyswatter2 и комплект, который они обеспечивают, и большинство моих результатов выглядеть примерно так:OpenOCD на 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' 

Я пытался снизить скорость адаптера с некоторым успехом, когда устройство на самом деле перезагружается, но все ад распадается после запуска ядра, после чего я получаю сообщения об ошибках, похожие на приведенные выше.

Я не уверен, с чего начать, поскольку эти сообщения об ошибках все еще немного неясны для меня, есть ли у кого-нибудь идеи/мысли/предложения? Я был бы готов копаться в исходном коде и вносить какие-то коррективы, если понадобится, но сейчас я немного слишком невежлив, чтобы сделать это!

ответ

0

Убедитесь, что ваш файл конфигурации предоставляет хороший идентификатор и идентификатор продукта вашей цели. Команда lsusb дает вам свои идентификаторы цели.

0

Ну, так как я не могу найти другого сообщения, которое показывает, что ppl успешно отлаживает BeableBone Black с openocd, я могу поручиться за то, что он работает. Моя командная строка (с помощью 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. Если вы не захотите, просто купите 80-долларовый разъем от TI, и он будет работать нормально (при условии, что вы правильно напаяли на него штыревое устройство)

FYI: Успешный выход в моем случае (полезный для дифф):

[email protected]:~/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 действительно говорят ваши часы могут быть слишком быстрыми. Быстрая синхронизация с небольшой утечкой может объяснить вашу проблему?

последнее, что нужно отметить:

Если вы хотите отладить Linux Kernel с ОКГ на beaglebone на новое ядро, вы можете нужен патч. Если нет, вы получите ошибки в openocd (но также с ключами от TI) после загрузки linux, так как это испортит JTAG. См. 1-строчный патч в https://e2e.ti.com/support/embedded/linux/f/354/t/363421 (мне понадобилось некоторое время, чтобы найти!)

Удачи!