|
|
  |
openocd и j-link |
|
|
|
Nov 21 2012, 14:35
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Добрый день. Недавно жизнь заставила переходить на ARM. Есть плата c STM32F107 на борту. Отладчик J-Link. Делал все по рецепту из http://we.easyelectronics.ru/CADSoft/ubunt...yuschihsya.html . Система - Kubuntu 12.10 x64. Из исходников openocd-0.6.1.tar.bz2 сделал следующее : Код $ tar xvf openocd-0.5.0.tar.bz2 $ cd openocd-0.5.0 $ ./configure --enable-jlink $ make $ sudo make install Сделал фаил /etc/udev/rules.d/45-jlink.rules с содержимым Код # SEGGER JLINK USB DEVICE 1366:0101 BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="kcontrol_rules_end" SYSFS{idProduct}=="0101", SYSFS{idVendor}=="1366", MODE="664", GROUP="plugdev" LABEL="kcontrol_rules_end" убедился что через lsusb jtag виден. в рабочем каталоге создал фаил openocd.cfg с содержимым Код telnet_port 4444 gdb_port 3333 source [find interface/jlink.cfg] source [find target/stm32f1x.cfg] Запускаю openocd - вылет. CODE Open On-Chip Debugger 0.6.1 (2012-11-21-13:03) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.htmlInfo : only one transport option; autoselect 'jtag' adapter speed: 1000 kHz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 cortex_m3 reset_config sysresetreq Info : J-Link initialization started / target CPU reset initiated Error: J-Link command 0xde failed (-1) Error: J-Link command 0xdc failed (-1) Error: J-Link command 0x01 failed (-1) Error: J-Link command EMU_CMD_VERSION failed (-1) Info : J-Link JTAG Interface ready Error: J-Link command 0xdd failed (-1) Error: J-Link command 0xdf failed (-1) Error: usb_bulk_write failed (requested=6, result=-1) Error: jlink_tap_execute, wrong result -107 (expected 1) Error: J-Link setting speed failed (-1) in procedure 'init' Куда копать? P.S. Перегрузился в винду - jtag работоспособен.
Сообщение отредактировал zemlemer - Nov 21 2012, 15:07
Причина редактирования: [code] для короткого кода!!!
|
|
|
|
|
Nov 28 2012, 07:32
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 6-04-10
Из: Ryazan
Пользователь №: 56 444

|
Старая версия openocd. Качайте новую. Сам недавно собирал - все работает. Собирать лучше так: сначало снесите что насобирали из директории исходников sudo make uninstall (если исходники по терли - сам себе злобный буратин), установите себе git и checkinstall, далее - git clone git://git.code.sf.net/p/openocd/code openocd-code, переходите в директорию с исходниками, ./bootstrap, ./configure --enable-maintainer-mode --enable-jlink (на борту должна быть естесно libusb-dev, можно поставить из репы). Далее sudo checkinstall -D --fstrans. Заполните данные (версию укажите ченить типа 0.6.1 или 0.6.2, релиз 1 или более, а то по дефолту пропишется 0 али 1 и при первом же обновлении все обновиться до 0.5.1 - той что в репе, а оно куда древнее). checkinstall соберет и установит пакет сам, без make make install, Посля этого можно буде обновлять, удалять через стандартные манагеры пакетов типа dpkg, apt-get, aptitude, senaptic и т.д.
|
|
|
|
|
Nov 28 2012, 17:20
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Не ставтится. CODE /bin/mkdir -p '/usr/local/bin' /bin/sh ../libtool --mode=install /usr/bin/install -c openocd '/usr/local/bin' libtool: install: /usr/bin/install -c openocd /usr/local/bin/openocd make[4]: Nothing to be done for `install-data-am'. make[4]: Leaving directory `/home/kirill/Temp/openocd/openocd-code/src' make[3]: Leaving directory `/home/kirill/Temp/openocd/openocd-code/src' make[2]: Leaving directory `/home/kirill/Temp/openocd/openocd-code/src' make[1]: Leaving directory `/home/kirill/Temp/openocd/openocd-code/src' Making install in doc make[1]: Entering directory `/home/kirill/Temp/openocd/openocd-code/doc' restore=: && backupdir=".am$$" && \ am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd . && \ rm -rf $backupdir && mkdir $backupdir && \ if (/bin/sh /home/kirill/Temp/openocd/openocd-code/missing --run makeinfo --version) >/dev/null 2>&1; then \ for f in openocd.info openocd.info-[0-9] openocd.info-[0-9][0-9] openocd.i[0-9] openocd.i[0-9][0-9]; do \ if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$am__cwd"; \ if /bin/sh /home/kirill/Temp/openocd/openocd-code/missing --run makeinfo -I . \ -o openocd.info openocd.texi; \ then \ rc=0; \ CDPATH="${ZSH_VERSION+.}:" && cd .; \ else \ rc=$?; \ CDPATH="${ZSH_VERSION+.}:" && cd . && \ $restore $backupdir/* `echo "./openocd.info" | sed 's|[^/]*$||'`; \ fi; \ rm -rf $backupdir; exit $rc openocd.texi:12: @include `version.texi': No such file or directory. openocd.texi:37: warning: undefined flag: VERSION. openocd.texi:38: warning: undefined flag: UPDATED. openocd.texi:58: warning: undefined flag: VERSION. openocd.texi:59: warning: undefined flag: UPDATED. makeinfo: Removing output file `openocd.info' due to errors; use --force to preserve. make[1]: *** [openocd.info] Error 1 make[1]: Leaving directory `/home/kirill/Temp/openocd/openocd-code/doc' make: *** [install-recursive] Error 1
**** Installation failed. Aborting package creation.
Restoring overwritten files from backup...OK
Cleaning up...OK
Bye.
Самое странное: предыдущая завелась. При этом по 4444 порту через telnet я мог общаться с процессором и все было нормально. А вот через GDB, запущенном в eclipse - никак. На любую, даде совсем невинную команду инициализации, шла ругань.
Сообщение отредактировал zemlemer - Nov 28 2012, 17:21
|
|
|
|
|
Nov 29 2012, 07:18
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 6-04-10
Из: Ryazan
Пользователь №: 56 444

|
GDB работает через 3333 порт по умолчанию. Странно оно у Вас на версию ругается. В checkinstall Вы версию и релиз прописали? Могу свою сборку выложить, но она под Debian (в принципе должно пойти, пакеты совместимы) и только вечером, ща на работе.
|
|
|
|
|
Nov 29 2012, 14:30
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Цитата(_guardianangel @ Nov 29 2012, 11:18)  GDB работает через 3333 порт по умолчанию. Странно оно у Вас на версию ругается. В checkinstall Вы версию и релиз прописали? Могу свою сборку выложить, но она под Debian (в принципе должно пойти, пакеты совместимы) и только вечером, ща на работе. Прояснилось. 64-х битная Kubuntu. После того как был поставлен пакет ia32-libs и при правильном скрипте загрузчика все завелось. Спасибо. Частичная доустановка 32-хбитных библиотек по результатам ругани gdb приводит к плачевным результатам. Спасибо за участие.
Сообщение отредактировал zemlemer - Nov 29 2012, 15:16
|
|
|
|
|
May 28 2013, 19:14
|

Группа: Новичок
Сообщений: 5
Регистрация: 8-10-10
Пользователь №: 60 014

|
Здраствуйте Есть у меня борд со встроенным J-Link (китайским) пробовал завести по описаному способу (версия openocd 0.8.0) все собралось поставилось но: CODE Open On-Chip Debugger 0.8.0-dev-00012-g2aada5b (2013-05-28-21:55) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.htmlInfo : only one transport option; autoselect 'jtag' adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 adapter speed: 10 kHz cortex_m3 reset_config vectreset Info : J-Link initialization started / target CPU reset initiated Info : J-Link ARM-OB STM32 compiled Dec 15 2010 11:30:03 Info : J-Link caps 0x88ea5833 Info : J-Link hw version 70000 Info : J-Link hw type J-Link Info : J-Link max mem block 10328 Info : J-Link configuration Info : USB-Address: 0xff Info : Kickstart power on JTAG-pin 19: 0xd1e22e00 Info : Vref = 3.300 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 0 TRST = 0 Info : J-Link JTAG Interface ready Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) Info : clock speed 10 kHz Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) in procedure 'transport' in procedure 'init' Не взлетел вобшем )
Сообщение отредактировал IgorKossak - May 28 2013, 19:40
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
|
|
|
|
|
May 29 2013, 10:50
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Судя по выхлопу питание есть... Можно клоки проверить. J-Link случайно не перешивался на свежую официальную прошивку? Это нельзя делать ни в коем случае. С какими ключами запускается сервер?
|
|
|
|
|
May 30 2013, 17:35
|

Группа: Новичок
Сообщений: 5
Регистрация: 8-10-10
Пользователь №: 60 014

|
Цитата(zemlemer @ May 29 2013, 13:50)  Судя по выхлопу питание есть... Можно клоки проверить. J-Link случайно не перешивался на свежую официальную прошивку? Это нельзя делать ни в коем случае. С какими ключами запускается сервер? Нет я его не перепрошивал, из под винды он работает нормально, но на работе только линукс. Вот этот борд NXP LPC1768 V2.0 DevBoard + 3.2"TFT Color LCD + JLink on board покупался не мной и неизвестно где, на диске к борде была куча пиратского софта типа мдк-арм итд. вот openocd.cfg Код telnet_port 4444 gdb_port 3333 source [find interface/jlink.cfg] source [find target/lpc1768.cfg] запускал openocd без дополнительных ключей.
|
|
|
|
|
May 31 2013, 13:15
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Попробуйте запустить openocd -f ./openocd.cfg -c "init" -c "reset init" -l
|
|
|
|
|
May 31 2013, 20:01
|

Группа: Новичок
Сообщений: 5
Регистрация: 8-10-10
Пользователь №: 60 014

|
Цитата(zemlemer @ May 31 2013, 16:15)  Попробуйте запустить openocd -f ./openocd.cfg -c "init" -c "reset init" -l Попробывл выхлоп тот же CODE sergey@sergey-GA-990FXA-D3:~/ARM$ openocd -f ./openocd.cfg -c "init" -c "reset init" -l Open On-Chip Debugger 0.8.0-dev-00012-g2aada5b (2013-05-28-21:55) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.htmlopenocd: option requires an argument -- 'l' Info : only one transport option; autoselect 'jtag' adapter_nsrst_delay: 200 jtag_ntrst_delay: 200 adapter speed: 10 kHz cortex_m3 reset_config vectreset Info : J-Link initialization started / target CPU reset initiated Info : J-Link ARM-OB STM32 compiled Dec 15 2010 11:30:03 Info : J-Link caps 0x88ea5833 Info : J-Link hw version 70000 Info : J-Link hw type J-Link Info : J-Link max mem block 10328 Info : J-Link configuration Info : USB-Address: 0xff Info : Kickstart power on JTAG-pin 19: 0xd1e22e00 Info : Vref = 3.300 TCK = 1 TDI = 0 TDO = 0 TMS = 1 SRST = 0 TRST = 0 Info : J-Link JTAG Interface ready Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) Info : clock speed 10 kHz Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) Error: usb_bulk_read failed (requested=1, result=0) Error: jlink_tap_execute, wrong result -107 (expected 1) in procedure 'transport' in procedure 'init' Я вот что думаю, может можно как то J-Link от SEGGER использовать, правда они слезно просят не изпользовать его с китайскими клонами, но блин, и цену ломят за оригинал 323$ + пересылка, а тут вся борда 60$ Или вот еще в закормах нашол ST-Link (тоже клон) может он будет себя лудше вести ?
|
|
|
|
|
Jun 1 2013, 08:46
|
Участник

Группа: Участник
Сообщений: 69
Регистрация: 10-06-08
Пользователь №: 38 190

|
Попробуйте, но мне кажется тут с платой что-то не то. С другой платой с армом это можно проверить?
|
|
|
|
|
Jun 3 2013, 17:35
|

Группа: Новичок
Сообщений: 5
Регистрация: 8-10-10
Пользователь №: 60 014

|
Цитата(zemlemer @ Jun 1 2013, 11:46)  Попробуйте, но мне кажется тут с платой что-то не то. С другой платой с армом это можно проверить? С платой вроде все ок, просто у китайцев руки кривые, те если делать новый проэкт даже в uVision то с ноля он не заводиться там очень хитрые параметры инициалезации, я смог более менее нормально завести с board/mcb1700.cfg и заливать прошивку получаеться только изпод JLinkExe.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|