Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: OpenOCD поддерживает J-Link
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Andy Great
Пока не пробовал, но уже в SVN есть поддержка.
KRS
В документации пока еще ничего не отражено.
Но если смореть исходник там всего 1 файл jlink.c который использует напрямую "usb.h" ( liusb )
Поэтому под виндами наверное надо пробовать собрирать при помощи libusb.
Andy Great
Документацию смотреть бесполезно. Надо читать логи SVN. Насчет libusb - да.
AVR
Цитата(Andy Great @ May 19 2008, 12:53) *
Пока не пробовал, но уже в SVN есть поддержка.
Я хотел! Не хотел, а мечтал, даже так smile.gif Сразу бы хотел выяснить: как с этой штукой работать, как к OpenOCD прикручивать gdb и т.д., т.е. где бы напочитать? smile.gif
ЗЫ И совсем уж бредовая мысль: чисто теоретически возможно AVR с помощью OpenOCD отлаживать через J-Link сидя под Linux? Ну ессно, если в OpenOCD появится поддержка AVR-ов? Она планируется? Это вообще реально, если приложить усилия со стороны софтовой части, а именно OpenOCD?.. biggrin.gif
Andy Great
Цитата(AVR @ May 21 2008, 13:45) *
Я хотел! Не хотел, а мечтал, даже так smile.gif Сразу бы хотел выяснить: как с этой штукой работать, как к OpenOCD прикручивать gdb и т.д., т.е. где бы напочитать? smile.gif

Почитать здесь, в конференции, можно.
Цитата
ЗЫ И совсем уж бредовая мысль: чисто теоретически возможно AVR с помощью OpenOCD отлаживать через J-Link сидя под Linux? Ну ессно, если в OpenOCD появится поддержка AVR-ов? Она планируется? Это вообще реально, если приложить усилия со стороны софтовой части, а именно OpenOCD?.. biggrin.gif

Этот вопрос из двух частей. Отвечу на первую вопросом: а когда в J-Link-е появится поддержка AVR-ов? На вторую: сильно сомневаюсь - другая специфика, АРМы быстро развиваются, разработчики только успевают добавлять поддержку как камней, так и отладочных средств..
AVR
Цитата(Andy Great @ May 26 2008, 12:46) *
Отвечу на первую вопросом: а когда в J-Link-е появится поддержка AVR-ов?
Ясно, спасибо, понял... smile.gif Я пока ещё не сильно углублялся в исходный код OpenOCD для подержки J-Link, просто возникло ложное впечатление что там используются простые операции с линиями jtag, что как мне показалось может привести к независимости от архитектуры целевого контроллера при условии его поддержки самим OpenOCD... biggrin.gif
voyt
А нафига оно надо? JTAKKey за $70 - поддерживается OpenOCD с самого рождения.
Сергей Борщ
Цитата(voyt @ Jun 21 2008, 19:01) *
А нафига оно надо? JTAKKey за $70 - поддерживается OpenOCD с самого рождения.
Как один из вариантов - я уже заплатил 2 раза по $70 за 2 штуки МТ-Линк. Предложение потратить еще столько же при переходе на arm-gcc конечно же заманчивое, но жаба-то душит... Меняю жабу с двумя MT-Link в комплекте на пару Amontek-JTAGkey.
AVR
Цитата(voyt @ Jun 21 2008, 20:01) *
А нафига оно надо? JTAKKey за $70 - поддерживается OpenOCD с самого рождения.
Ну если уже куплено MT-Link то куда деваться... Сначала я пользовался только windows и думал что буду счастлив, но... теперь OpenOCD - труЪ. Если б пораньше узнал что такое OpenOCD и какие возможности оно дает, изначально бы выбрал программатор, который им поддерживается изначально...
voyt
2 AVR: Если еще интересно, то могу рассказать вкратце как прикрутить OpenOCD с gdb под linux'ом.
AVR
Цитата(voyt @ Jun 29 2008, 23:54) *
2 AVR: Если еще интересно, то могу рассказать вкратце как прикрутить OpenOCD с gdb под linux'ом.
Конечно интересно, всё интересно. Правда у меня пока не было времени толком прикрутить свой MT-Link к OpenOCD и вообще хоть что-то попробовать, но в скором времени собираюсь поглубже изучить вопрос...
khach
А кто-нибудь пробовал сделать поддержку через J-Link FPGA Xilinx или Altera? Или хотя бы boundary scan?
voyt
2 AVR: вкратце под gnu/linux:
1) Скомпилили openOCD с поддержкой своего программатора и установили его
2) Запускаем OpenOCD из под root'a. Пример для Amontec JTAGKey и м-ра AT91AM9260:
# /opt/bin/openocd --file /opt/lib/openocd/interface/jtagkey.cfg --file /opt/lib/openocd/target/at91sam9260.cfg
3) По-умолчанию OpenOCD слушает порт 3333. Запускаем gdb:
$ arm-elf-gdb
4) В gdb вводим команды:
target remote localhost:3333
monitor soft_reset_halt
monitor arm7_9 force_hw_bkpts enable
symbol-file ВАША_ПРОГРАММА.elf
set $pc = 0x20000000
load ВАША_ПРОГРАММА.elf
thbreak main

Ваша программа остановится в начале ф-ии main. $pc - адрес следующей команды, у меня задаётся 0x20000000 т.к. память начинается с этого адреса. На другой платформе - м.б. другой адрес.
alx2
Взял openocd из svn. Соединил с устройством на ARM7TDMI. Ведет себя странновато (или я чего-то не понимаю).
Код
alx% daemon openocd -l openocd.log
Open On-Chip Debugger 1.0 (2008-07-04-19:52) svn:
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
alx% telnet localhost 4444
Trying ::1...
Trying 127.0.0.1...
Negotiating binary mode on output.
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> poll
target state: running
> halt
target state: halted
target halted in ARM state due to debug request, current mode: System
cpsr: 0x0000001f pc: 0x00026708
> poll
target state: running
> mdw 0 32
target not halted
Failure examining memory

В логе на mdw пишет вот что:
Код
Warning: arm7_9_common.c:1834 arm7_9_read_memory(): target not halted
Error:   target.c:2026 handle_md_command(): Failure examining memory

Я что-то неправильно делаю?
AVR
Беда у меня с этим OpenOCD... Нашел время покопаться со связкой sam7s64 + MT-Link под Linux и уперся в стенку... =(
По SVN взял последнюю версию OpenOCD, установил libusb-dev и всё прекрасно собралось...
Всё включил и запустил:
Цитата
~/Temp/openocd_svn956/src$ ./openocd
Open On-Chip Debugger 1.0 (2008-08-21-10:56) svn:956
$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
jtag_speed: 8000
Error: J-Link command 0x01 failed (-1)
Error: J-Link command EMU_CMD_VERSION failed (-1)

Error: J-Link command 0x01 failed (-1)
Error: J-Link command EMU_CMD_VERSION failed (-1)

Error: J-Link command 0x01 failed (-1)
Error: J-Link command EMU_CMD_VERSION failed (-1)

Info: J-Link initial read failed, don't worry
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 -1, expected 1
Error: usb_bulk_write failed (requested=6, result=-1)
Error: jlink_tap_execute, wrong result -1, expected 1
Error: J-Link command 0xdd failed (-1)
Error: J-Link command 0xde failed (-1)
Error: usb_bulk_write failed (requested=6, result=-1)
Error: jlink_tap_execute, wrong result -1, expected 1
Error: J-Link command 0xdc failed (-1)
Error: J-Link command 0xde failed (-1)
Error: usb_bulk_write failed (requested=6, result=-1)
Error: jlink_tap_execute, wrong result -1, expected 1
Error: J-Link command 0xdc failed (-1)
Error: J-Link command 0xdf failed (-1)
Error: usb_bulk_write failed (requested=6, result=-1)
Error: jlink_tap_execute, wrong result -1, expected 1
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 -1, expected 1
Warning:no gdb ports allocated as no target has been specified
Warning:no tcl port specified, using default port 6666


НЕ работает...
SergeiCh
Цитата(AVR @ May 21 2008, 17:45) *
И совсем уж бредовая мысль: чисто теоретически возможно AVR с помощью OpenOCD отлаживать через J-Link сидя под Linux?

Чем не устраивает jtagice/dragon + avarice? Оно и по dW частично работает.
AVR
Цитата(SergeiCh @ Aug 25 2008, 11:28) *
Чем не устраивает jtagice/dragon + avarice? Оно и по dW частично работает.
По dW работает (и главное с каким программатором оно так может?)?! А какие оно модели контроллеров поддерживает? Больше чем заявлено для jtagice для avrstudio?
ЗЫ jtagice это avr-jtag-usb(olimex)? Хотел себе для дома купить такую хрень, но там мало контроллеров поддерживается. avarice сможет работаеть с avr-jtag-usb(olimex) и какие процы поддерживаются?
SergeiCh
Цитата(AVR @ Sep 1 2008, 14:25) *
По dW работает (и главное с каким программатором оно так может?)?!
dW с JTAGICE mkII и AVR Dragon, как водится smile.gif

Цитата
А какие оно модели контроллеров поддерживает? Больше чем заявлено для jtagice для avrstudio?
Всего в списке около 25 МК, с AVR Studio не сравнивал. Список есть в доке, дока - в WinAVR smile.gif
AVR
Цитата(SergeiCh @ Sep 3 2008, 18:11) *
dW с JTAGICE mkII и AVR Dragon, как водится smile.gif
Всего в списке около 25 МК, с AVR Studio не сравнивал. Список есть в доке, дока - в WinAVR smile.gif
Ясно, спасибо. Хотелось бы уточнить - если я буду использовать только JTAG интерфейс я могу спокойно купить avr-jtag-usb от olimex (по Вашему ответу я так и не понял этого, ведь интересен именно реальный опыт применения) чтобы юзать это дело сидя под Linux?
SergeiCh
Цитата(AVR @ Sep 4 2008, 04:25) *
Хотелось бы уточнить -
У меня есть опыт использования AVR Dragon + AVaRICE + Eclipce под WinXP. Могу предположить, с очень высокой вероятностью клон JTAG ICE будет работать под Linux. Вам нужно отлаживать ATmega64, ATmega128 или AT90CAN128? Новые в этот список вряд ли добавятся sad.gif, и сколько эти еще будут выпускаться - не известно. Я бы порекомендовал глянуть в сторону AVR Dragon (просто мы обычно не используем AVR, где нужно больше 32кБ - до 32кБ они привлекательны ценой/качеством). Опять же поддержка от производителя МК smile.gif
SergeiCh
Ближе к теме:
На at91.com обнаружил ссылку на некий ARMcable II, там же написано, что он Fully compatybile with JLINK. А уже на сайте производителя написано Fully compatybile with Popular ARM Programmer smile.gif и в download первая ссылки на OpenOCD.
AVR
Цитата(SergeiCh @ Sep 4 2008, 08:18) *
У меня есть опыт использования AVR Dragon + AVaRICE + Eclipce под WinXP. Могу предположить, с очень высокой вероятностью клон JTAG ICE будет работать под Linux. Вам нужно отлаживать ATmega64, ATmega128 или AT90CAN128? Новые в этот список вряд ли добавятся sad.gif, и сколько эти еще будут выпускаться - не известно. Я бы порекомендовал глянуть в сторону AVR Dragon (просто мы обычно не используем AVR, где нужно больше 32кБ - до 32кБ они привлекательны ценой/качеством). Опять же поддержка от производителя МК smile.gif
А AVR Dragon будет пахать под Linux? А ещё меня малость смутило вот что: "поддержка JTAG эмуляции всех микроконтроллеров с размером Flash памяти равной и меньше 32кБ" и в то же время в списке поддерживаемых значится mega64, 128... O_o т.е. залить программу можно хоть в mega256, а отладка только 32 и менее? smile.gif
Хотя больше 32х Кб там и не надо - не выгодны по цене... =)
SergeiCh
Цитата(AVR @ Sep 4 2008, 14:08) *
А AVR Dragon будет пахать под Linux
Определенно можно сказать, что он поддерживается AVaRICE и AVRDUDE, которые идут под Linux. На форуме, по-моему, эта тема была.

Цитата
залить программу можно хоть в mega256, а отладка только 32 и менее?
Так точно.
kurtis
Цитата(AVR @ Aug 21 2008, 18:58) *
Беда у меня с этим OpenOCD... Нашел время покопаться со связкой sam7s64 + MT-Link под Linux и уперся в стенку... =(
По SVN взял последнюю версию OpenOCD, установил libusb-dev и всё прекрасно собралось...
Всё включил и запустил:

НЕ работает...


Прошу прощения что поднимаю старую тему, но у Вас получилось запустить JLINK под Linux?
У меня выдает приблизительно тоже самое, что делать дальше - незнаю.

Вот то что у меня выдает:
CODE
mike@myHome:~$ openocd -f interface/jlink.cfg -f target/sam7x256.cfg -c initreset
Open On-Chip Debugger 0.2.0-in-development (2009-05-22-20:40) svn:1881


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
Error: J-Link command 0x01 failed (-16)
Error: J-Link command EMU_CMD_VERSION failed (-16)

Error: J-Link command 0x01 failed (-16)
Error: J-Link command EMU_CMD_VERSION failed (-16)

Error: J-Link command 0x01 failed (-16)
Error: J-Link command EMU_CMD_VERSION failed (-16)

Info : J-Link initial read failed, don't worry
Info : J-Link JTAG Interface ready
Error: J-Link command 0xdd failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: J-Link setting speed failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdd failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdc failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdd failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Warn : no telnet port specified, using default port 4444
Warn : no gdb port specified, using default port 3333
Warn : no tcl port specified, using default port 6666
Error: J-Link command 0xdd failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdc failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link command 0xdd failed (-16)
Error: J-Link command 0xdf failed (-16)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: usb_bulk_write failed (requested=6, result=-16)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Runtime error, file "embedded:startup.tcl", line 173:
error: -104
Runtime error, file "command.c", line 453:
1_pete
Попробуйте запустить OpenOCD c JLink через строку с правами суперпользователя.
# sudo openocd -f interface/jlink.cfg -f target/sam7x256.cfg -c initreset
Должен нормально запуститься
RA3WUM
Цитата(SergeiCh @ Aug 25 2008, 11:28) *
Чем не устраивает jtagice/dragon + avarice? Оно и по dW частично работает.

А можно подробнее как dW под линуксом работает?
Может мануал есть какой. rolleyes.gif
Вообще я по этому поводу тему отдельную создал но все молчат.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.