реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> openocd и j-link
zemlemer
сообщение Nov 21 2012, 14:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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.html
Info : 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] для короткого кода!!!
Go to the top of the page
 
+Quote Post
_guardianangel
сообщение Nov 28 2012, 07:32
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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 и т.д.
Go to the top of the page
 
+Quote Post
zemlemer
сообщение Nov 28 2012, 17:20
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
_guardianangel
сообщение Nov 29 2012, 07:18
Сообщение #4


Участник
*

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



GDB работает через 3333 порт по умолчанию. Странно оно у Вас на версию ругается. В checkinstall Вы версию и релиз прописали? Могу свою сборку выложить, но она под Debian (в принципе должно пойти, пакеты совместимы) и только вечером, ща на работе.
Go to the top of the page
 
+Quote Post
zemlemer
сообщение Nov 29 2012, 14:30
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
SPLESH
сообщение May 28 2013, 19:14
Сообщение #6





Группа: Новичок
Сообщений: 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.html
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 = 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] - для короткого!!!
Go to the top of the page
 
+Quote Post
zemlemer
сообщение May 29 2013, 10:50
Сообщение #7


Участник
*

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



Судя по выхлопу питание есть... Можно клоки проверить. J-Link случайно не перешивался на свежую официальную прошивку? Это нельзя делать ни в коем случае. С какими ключами запускается сервер?
Go to the top of the page
 
+Quote Post
SPLESH
сообщение May 30 2013, 17:35
Сообщение #8





Группа: Новичок
Сообщений: 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 без дополнительных ключей.
Go to the top of the page
 
+Quote Post
zemlemer
сообщение May 31 2013, 13:15
Сообщение #9


Участник
*

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




Попробуйте запустить openocd -f ./openocd.cfg -c "init" -c "reset init" -l
Go to the top of the page
 
+Quote Post
SPLESH
сообщение May 31 2013, 20:01
Сообщение #10





Группа: Новичок
Сообщений: 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.html
openocd: 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$ crying.gif

Или вот еще в закормах нашол ST-Link (тоже клон) может он будет себя лудше вести ?
Go to the top of the page
 
+Quote Post
zemlemer
сообщение Jun 1 2013, 08:46
Сообщение #11


Участник
*

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



Попробуйте, но мне кажется тут с платой что-то не то. С другой платой с армом это можно проверить?
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Jun 3 2013, 06:17
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Попробуйте другую версию OpenOCD...
Go to the top of the page
 
+Quote Post
SPLESH
сообщение Jun 3 2013, 17:35
Сообщение #13





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



Цитата(zemlemer @ Jun 1 2013, 11:46) *
Попробуйте, но мне кажется тут с платой что-то не то. С другой платой с армом это можно проверить?


С платой вроде все ок, просто у китайцев руки кривые, те если делать новый проэкт даже в uVision то с ноля он не заводиться там очень хитрые параметры инициалезации, я смог более менее нормально завести с board/mcb1700.cfg и заливать прошивку получаеться только изпод JLinkExe.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 21:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016