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

 
 
> Запустить JLINK (AT91SAM-ICE) "из коробки", проблемы с OPENOCD
Genadi Zawidowsk...
сообщение Jun 4 2010, 04:23
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Промучавшись и отчаявшись запустить openocd в связке с wiggler или ALTERA USB BLASTER, решил пойти по пути "как все" - и наткнулся на проблемы.

Установленный свежескачанный комплект программ и драйвер от SEGGER после применения ключеделки нормально прошивает программу в устройстве.

Свежеустановленный openocd 0.4.0 (дистрибутив от Freddie Chopin) не видиит USB устройство:

Цитата
Error: Cannot find jlink Interface! Please check connection and permissions.
Command handler execution failed


Командная строка такая:

Код
C:\user\dds2\TC1>openocd -d1 -f interface/jlink.cfg -f target/at91sam7sx.cfg -c init -c targets -c "halt" -c "flash write_image erase " -c "verify_image .\at91sam7s\tc1.elf" -c "reset run" -c shutdown


С wiggler были проблемы такого рода: openocd ругался на "не то" содержимое каких-то регистров процессора и невозможность его перевести в состояние halt. При этом, H-JTAG работал перкрасно. Но эти проблемы ушли вместе с LPT портом на старом ноутбуке. ALTERA BYTE BLSATER из-под девелоперской версии OpenOCD 0.5.0 опознавался, но диагностировались закорочнные на землю сигналы. UrJTAG при этом нормально опознавал подключенный по JTAG микропроцессор.

Операционная система - Windows XP.

Сообщение отредактировал Genadi Zawidowski - Jun 4 2010, 04:27
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
Genadi Zawidowsk...
сообщение Jun 5 2010, 13:54
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Подскажите пожалуйста, для использования с OpenOCD вместе с jlink нужны USB драйверы от SEGGER или какие-либо другие? Было подозрение на libusb0.dll - но вызывается именно та, что лежит в каталоге вместе с openocd.exe.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 8 2010, 04:47
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Попробовал на "чистой" (со свежеустановленной XP) машине - результат тот же:
Цитата
Error: Cannot find jlink Interface!

Коллеги, кто использует у себя связку openocd+jlink - какой vid/pid программатора у вас? Ставится штатный драйвер от segger.com или какой-другой? Правите ли скрипты openocd?

Сообщение отредактировал Genadi Zawidowski - Jun 8 2010, 04:47
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 8 2010, 12:15
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Genadi Zawidowski @ Jun 8 2010, 07:47) *
Коллеги, кто использует у себя связку openocd+jlink - какой vid/pid программатора у вас?
1366/0101

Цитата(Genadi Zawidowski @ Jun 8 2010, 07:47) *
Ставится штатный драйвер от segger.com или какой-другой?
Да, стоит какой-то старый родной, но судя по логу openocd родной драйвер от сеггера OpenOCD не использует. А libusb то ли filter, то ли device ставить надо было. И в нем выбирать jlink. Если openocd скомпилирован с libusb. Если с ft2xx.dll - то и этого вроде не нужно. Не пробовал.
Цитата(Genadi Zawidowski @ Jun 8 2010, 07:47) *
Правите ли скрипты openocd?
Один родной поправил - иначе давал предупреждение, что кристалл по номеру вместо имени выбирается. В at91sam7sx.cfg заменил
Код
flash bank $_FLASHNAME at91sam7 0 0 0 0 0 0 0 0 0 0 0 0 18432
на
Код
flash bank $_FLASHNAME at91sam7 0 0 0 0 $_TARGETNAME 0 0 0 0 0 0 0 4032
4032 - это частота кварца у меня в плате.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 8 2010, 21:13
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



В файлике в корне инсталляции opecocd упоминаются обе библиотеки...

Код
OpenOCD 0.4.0
build date: 22.02.2010
package date: 23.02.2010
build system: Linux OpenSUSE 11.2 (hosted in VMware Workstation 6.5.3
        build-185404 on Windows 2003 Server SP2 @ Intel Core2Duo)
compiler: GCC 4.4.2 (i686-w64-mingw32)

Libraries used:
libusb-win32-src-0.1.12.2
libftdi-0.17

Build commands used:
../configure --host=i686-w64-mingw32 --enable-ft2232_libftdi --enable-gw16012
        --enable-parport --disable-parport-ppdev --enable-parport-giveio
        --enable-presto_libftdi --enable-amtjtagaccel --enable-arm-jtag-ew
        --enable-jlink --enable-rlink --enable-usbprog --enable-vsllink
make
i686-w64-mingw32-strip src/openocd.exe


Цитата
А libusb то ли filter, то ли device ставить надо было. И в нем выбирать jlink.


А можете уточнить, где в libusb0.dll ставить filter или device и выбирать jlink.
update: странно, что эту утилиту не положили в дистрибутив... все-таки "из коробки" не работает - надо напильником допиливать. filter не пошло (openocd сообщает о ошибках). а device по сгенерённому визардом inf файлу для Jlink напрочь обрубил все usb устройства в ноутбуке.
удалил... сменил Segger-овский драйвер на полученный - периферия заработала - а openocd без изменений
Код
Error: jlink_usb_message failed with result=1)
Error: jlink_tap_execute, wrong result -107 (expected 1)


Перестал (естествено) работать flasher (да и всё остальное) от segger.
Сергей, в Вашем случае работает? Значит, Вы libusb в режиме filter поставили...

Сообщение отредактировал Genadi Zawidowski - Jun 8 2010, 22:07
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 8 2010, 22:54
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Genadi Zawidowski @ Jun 9 2010, 00:13) *
Сергей, в Вашем случае работает? Значит, Вы libusb в режиме filter поставили...
Да, перечитал описание libusb-win32 и вспомнил - действительно, ставил filter. Мне нужно было сохранить возможность отлаживаться из ИАРа. Т.е. у меня стоит драйвер сеггера версии 3.80а и libusb-filter дает через него доступ к J-Linkу.
В libusb0.dll я ничего не выбирал. Просто скачал инсталяшку libusb-win32-filter-bin-1.1.14.0.exe и запустил ее. Драйвер сеггера уже стоял.

Подобные вашим ошибки Error: jlink_usb_message failed with result=1) я получал, когда пытался указать скорость в скрипте через jtag_rclk - мой МТ-линк не поддерживает адаптивную скорость. Когда задал через jtag_khz - все заработало. В начале скрипта ставлю jtag_khz 32, в $_TARGETNAME configure -event reset-init после настройки PLL ставлю jtag_khz 8000.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 9 2010, 00:30
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Спасибо за совет, вставил в командную строку команду про 32 кГц - -а потом и без неё)
получил вот такую выдачу:

Код
debug_level: 1
32 kHz
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain
Error: J-Link command 0xde failed (-22)
Error: J-Link command 0xdc failed (-22)
Error: J-Link command 0x01 failed (-22)
Error: J-Link command EMU_CMD_VERSION failed (-22)

Error: J-Link command 0xdd failed (-22)
Error: J-Link command 0xdf failed (-22)
Error: J-Link setting speed failed (-22)
Error: usb_bulk_write failed (requested=6, result=-22)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdd failed (-22)
Error: J-Link command 0xdf failed (-22)
Error: usb_bulk_write failed (requested=6, result=-22)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-22)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdc failed (-22)
Error: J-Link command 0xdf failed (-22)
Error: usb_bulk_write failed (requested=6, result=-22)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdd failed (-22)
Error: J-Link command 0xdf failed (-22)
Error: usb_bulk_write failed (requested=6, result=-22)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Command handler execution failed
Warn : jtag initialization failed; try 'jtag init' again.


Вчера пробовал на оригинальном SAM-ICE (v8) , сегодня на MT-LINK (v7). Когда поменяю назад, будут новости.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 9 2010, 06:00
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Genadi Zawidowski @ Jun 9 2010, 03:30) *
получил вот такую выдачу:
Что-то не работает... Запустите с ключем -d, напишет более подробно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Jun 9 2010, 06:48
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Запустил с большим значением.
Всё нормально, кроме всех обращений к драйверу.
Libusb0.dll в каталоге Openocd заменил на тот, что был в дистрибутиве, скачанном c sourcefoge. Без изменений в поведении.

Можете выложить Ваш комплект?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 9 2010, 09:15
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Genadi Zawidowski @ Jun 9 2010, 09:48) *
Libusb0.dll в каталоге Openocd заменил на тот, что был в дистрибутиве, скачанном c sourcefoge. Без изменений в поведении.
У меня вообще нет такого файла. Есть libopenocd.a размером 52 мега.
Цитата(Genadi Zawidowski @ Jun 9 2010, 09:48) *
Можете выложить Ваш комплект?
Архив скомпилированного oocd занимает у меня 15 мег. Свяжитесь со мной через личку или ICQ, пришлю почтой.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Dec 17 2010, 08:25
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Позволю себе влезть в старую тему, дабы не плодить новых. Пытаюсь запустить J-Link (если быть точнее MT-Link) под Linux, пока не очень получается.

OpenOCD собирал из репозитория, с ключом --enable-jlink.
Целевая плата на LPC1768.

При попытке запуска openocd, получаю следующее:

Код
$ openocd -f interface/jlink.cfg -f target/lpc1768.cfg
Open On-Chip Debugger 0.5.0-dev-00658-gaf3f77a (2010-12-17-12:20)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : Adapter driver 'jlink' did not declare which transports it allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
32 kHz
Info : J-Link initialization started / target CPU reset initiated
Info : J-Link ARM V8 compiled Dec 16 2010 20:21:29
Info : JLink caps 0xb9ff7bbf
Info : JLink hw version 80000
Info : JLink max mem block 8368
Info : Vref = 3.254 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 0 TRST = 0
Info : J-Link JTAG Interface ready
Error: jlink_usb_message failed with result=255)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Info : clock speed 32 kHz
Error: jlink_usb_message failed with result=255)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: jlink_usb_message failed with result=255)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Command handler execution failed
in procedure 'transport'
Command handler execution failed
in procedure 'init'


Т.е. как я понимаю, сам отладчик находится, но дальше дело не идет.

PS
Родная софтина от Segger (JLinkExe) работает, процессор видит.

Код
$ ./start
SEGGER J-Link Commander V4.20h ('?' for help)
Compiled Oct 19 2010 14:02:03
DLL version V4.20h, compiled Oct 19 2010 14:01:59
Firmware: J-Link ARM V8 compiled Dec 16 2010 20:21:29
Hardware: V8.00
S/N: 11111118
VTarget = 3.254V
Info: TotalIRLen = 4, IRPrint = 0x01
Info: Found Cortex-M3 r2p0, Little endian.
Info: TPIU fitted.
Info: ETM fitted.
Info:   FPUnit: 6 code (BP) slots and 2 literal slots
Found 1 JTAG device, Total IRLen = 4:
#0 Id: 0x4BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)
Cortex-M3 identified.
JTAG speed: 100 kHz
J-Link>



--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
Pat
сообщение May 30 2013, 07:22
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



[quote name='Pavel V.' date='Dec 17 2010, 10:25' post='856554']
Позволю себе влезть в старую тему, дабы не плодить новых. Пытаюсь запустить J-Link (если быть точнее MT-Link) под Linux, пока не очень получается.
[/code]

И я влезу.
Решилась ли проблемма, у меня дошел ход до openOCD и получил такую же ошибку.

Отладчик jlink находит, причем считвает непряжение на целевой плате
Код
Info : Vref = 3.254 TCK = 0 TDI = 1 TDO = 1 TMS = 0 SRST = 0 TRST = 1


Остальное как описано выше у Pavel V

Пытаюсь запустить на Debian.



Go to the top of the page
 
+Quote Post
Pat
сообщение May 30 2013, 19:29
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Цитата(Сергей Борщ @ Jun 9 2010, 00:54) *
Подобные вашим ошибки Error: jlink_usb_message failed with result=1) я получал, когда пытался указать скорость в скрипте через jtag_rclk - мой МТ-линк не поддерживает адаптивную скорость. Когда задал через jtag_khz - все заработало. В начале скрипта ставлю jtag_khz 32, в $_TARGETNAME configure -event reset-init после настройки PLL ставлю jtag_khz 8000.


Нашел решение. Действительно нужно установить скорость.
Только команда adapter_khz 32
Это в openosd-0.7.0

Спасибо Сергей за подсказку.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:57
Рейтинг@Mail.ru


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