Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: JetLink и прямой доступ к памяти
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Navuhodonosor
Уважаемые!

Можно ли с помощью какой-либо программы использовать JetLink как чистый программатор?

Требуется записывать некие данные непосредственно в конкретные ячейки памяти. Немного, с десяток байт.
zhevak
gdb в связке с OpenOCD -- не?
skripach
J-Flash?
kanzler
Цитата(skripach @ Oct 23 2012, 00:25) *
J-Flash?

Он самый
Navuhodonosor
Цитата(zhevak @ Oct 22 2012, 23:05) *
gdb в связке с OpenOCD -- не?

Это, насколько я понимаю, штуки под Linux. А под Win ничего нет?
prottoss
Под Win то же самое
kolobok0
Цитата(Navuhodonosor @ Oct 22 2012, 21:44) *
..использовать JetLink как чистый программатор?..


ну вроде это и есть программатор. если флэш - то типа он может отдельно от компа размножать и управляться внешней байдой.
в нужное место пару байт - вот это скорее всего с ограничениями думаю. типа на уровне страницы либо чтение-модификация-запись.
ИМХО - нужно глянуть закладки софта у кейла и иара на предмет локального апдэйта пару байтиков.
Navuhodonosor
Cпасибо, разобрались.

С помощью J-Flash, хоте несколько замысловато, но можно сделать программирование нужных байтов.
demiurg_spb
Цитата(prottoss @ Oct 23 2012, 08:26) *
Под Win то же самое
Ну видимо не совсемsad.gif
Имеем
1) win7 x64
2) openocd 0.7.0
3) libusb 1.2.6.0
4) jlink (несколько проверенных клонов от разных производителей)

libusb вроде встал нормально, testlibusb-win.exe выдаёт:
CODE
DLL version: 1.2.6.0
Driver version: 1.2.6.0

bus/device idVendor/idProduct
bus-0/\\.\libusb0-0001--0x1366-0x0101 1366/0101
- Manufacturer : SEGGER
- Product : J-Link
- Serial Number: XXXXXXXXXXXX
bLength: 18
bDescriptorType: 01h
bcdUSB: 0200h
bDeviceClass: 00h
bDeviceSubClass: 00h
bDeviceProtocol: 00h
bMaxPacketSize0: 08h
idVendor: 1366h
idProduct: 0101h
bcdDevice: 0100h
iManufacturer: 1
iProduct: 2
iSerialNumber: 3
bNumConfigurations: 1
wTotalLength: 32
bNumInterfaces: 1
bConfigurationValue: 1
iConfiguration: 0
bmAttributes: c0h
MaxPower: 50
bInterfaceNumber: 0
bAlternateSetting: 0
bNumEndpoints: 2
bInterfaceClass: 255
bInterfaceSubClass: 255
bInterfaceProtocol: 255
iInterface: 0
bEndpointAddress: 81h
bmAttributes: 02h
wMaxPacketSize: 64
bInterval: 1
bRefresh: 0
bSynchAddress: 0
bEndpointAddress: 02h
bmAttributes: 02h
wMaxPacketSize: 64
bInterval: 1
bRefresh: 0
bSynchAddress: 0

на команду:
Код
openocd -c "interface jlink" -c "adapter_khz 500"

имею:
CODE
Open On-Chip Debugger 0.7.0 (2013-05-05-10:44)
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: 500 kHz
Info : J-Link initialization started / target CPU reset initiated
Error: J-Link command 0xde failed (0)
Error: J-Link command 0xdc failed (0)
Error: J-Link command 0x01 failed (0)
Error: J-Link command EMU_CMD_VERSION failed (0)
Info : J-Link JTAG Interface ready
Error: J-Link command 0xdd failed (0)
Error: J-Link command 0xdf failed (0)
Error: usb_bulk_write failed (requested=6, result=0)
Error: jlink_tap_execute, wrong result -107 (expected 1)
Error: J-Link setting speed failed (0)
in procedure 'init'
Ума не приложу куда ещё можно копатьsad.gif

Вот полный лог с ключиком -d3:
CODE
Open On-Chip Debugger 0.7.0 (2013-05-05-10:44)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
User : 13 4 command.c:549 command_print(): debug_level: 3
Debug: 14 5 configuration.c:45 add_script_search_dir(): adding Z:/gcc/utils/openocd/bin-x64/..
Debug: 15 6 configuration.c:45 add_script_search_dir(): adding Z:/gcc/utils/openocd/bin-x64/../share/openocd/scripts
Debug: 16 8 configuration.c:45 add_script_search_dir(): adding Z:/gcc/utils/openocd/bin-x64/../scripts
Debug: 17 11 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface jlink
Debug: 18 12 command.c:145 script_debug(): command - interface ocd_interface jlink
Debug: 20 13 command.c:328 command_new(): BUG: command 'jlink' does not have the '.usage' field filled out
Debug: 21 14 command.c:328 command_new(): BUG: command 'jlink caps' does not have the '.usage' field filled out
Debug: 22 14 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 23 14 command.c:328 command_new(): BUG: command 'jlink info' does not have the '.usage' field filled out
Debug: 24 15 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 25 15 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 26 15 command.c:328 command_new(): BUG: command 'jlink config' does not have the '.usage' field filled out
Debug: 27 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 28 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 29 16 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 30 17 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 31 17 command.c:328 command_new(): BUG: command 'config reset' does not have the '.usage' field filled out
Debug: 32 17 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 33 18 command.c:328 command_new(): BUG: command 'config save' does not have the '.usage' field filled out
Debug: 34 18 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 35 18 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Debug: 36 19 command.c:328 command_new(): BUG: command 'jlink pid' does not have the '.usage' field filled out
Debug: 37 19 command.c:369 register_command_handler(): registering 'ocd_jlink'...
Info : 38 20 transport.c:118 allow_transports(): only one transport option; autoselect 'jtag'
Debug: 39 20 command.c:369 register_command_handler(): registering 'ocd_jtag_flush_queue_sleep'...
Debug: 40 20 command.c:369 register_command_handler(): registering 'ocd_jtag_rclk'...
Debug: 41 21 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_delay'...
Debug: 42 21 command.c:369 register_command_handler(): registering 'ocd_jtag_ntrst_assert_width'...
Debug: 43 21 command.c:369 register_command_handler(): registering 'ocd_scan_chain'...
Debug: 44 22 command.c:369 register_command_handler(): registering 'ocd_jtag_reset'...
Debug: 45 22 command.c:369 register_command_handler(): registering 'ocd_runtest'...
Debug: 46 22 command.c:369 register_command_handler(): registering 'ocd_irscan'...
Debug: 47 23 command.c:369 register_command_handler(): registering 'ocd_verify_ircapture'...
Debug: 48 23 command.c:369 register_command_handler(): registering 'ocd_verify_jtag'...
Debug: 49 23 command.c:369 register_command_handler(): registering 'ocd_tms_sequence'...
Debug: 50 24 command.c:369 register_command_handler(): registering 'ocd_wait_srst_deassert'...
Debug: 51 24 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 52 24 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 53 25 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 54 25 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 55 25 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 56 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 57 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 58 26 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 59 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 60 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 61 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 62 27 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 63 28 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 64 28 command.c:369 register_command_handler(): registering 'ocd_svf'...
Debug: 65 28 command.c:369 register_command_handler(): registering 'ocd_xsvf'...
Debug: 66 29 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_adapter_khz 500
Debug: 67 29 command.c:145 script_debug(): command - adapter_khz ocd_adapter_khz 500
Debug: 69 29 core.c:1648 jtag_config_khz(): handle jtag khz
Debug: 70 30 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 71 30 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 72 30 command.c:549 command_print(): adapter speed: 500 kHz
Debug: 73 31 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_adapter_nsrst_delay 50
Debug: 74 31 command.c:145 script_debug(): command - adapter_nsrst_delay ocd_adapter_nsrst_delay 50
User : 76 31 command.c:549 command_print(): adapter_nsrst_delay: 50
Debug: 77 32 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_init
Debug: 78 32 command.c:145 script_debug(): command - init ocd_init
Debug: 80 33 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target init
Debug: 81 33 command.c:145 script_debug(): command - ocd_target ocd_target init
Debug: 83 33 target.c:1178 handle_target_init_command(): Initializing targets...
Debug: 84 212 libusb1_common.c:153 jtag_libusb_get_endpoints(): usb ep in 81
Debug: 85 212 libusb1_common.c:153 jtag_libusb_get_endpoints(): usb ep out 02
Info : 86 212 jlink.c:516 jlink_init(): J-Link initialization started / target CPU reset initiated
Error: 87 213 jlink.c:693 jlink_simple_command(): J-Link command 0xde failed (0)
Error: 88 213 jlink.c:693 jlink_simple_command(): J-Link command 0xdc failed (0)
Error: 89 214 jlink.c:693 jlink_simple_command(): J-Link command 0x01 failed (0)
Error: 90 214 jlink.c:875 jlink_get_version_info(): J-Link command EMU_CMD_VERSION failed (0)
Info : 91 214 jlink.c:539 jlink_init(): J-Link JTAG Interface ready
Debug: 92 214 jlink.c:667 jlink_reset(): trst: 0, srst: 0
Error: 93 215 jlink.c:693 jlink_simple_command(): J-Link command 0xdd failed (0)
Error: 94 215 jlink.c:693 jlink_simple_command(): J-Link command 0xdf failed (0)
Error: 95 218 jlink.c:1541 jlink_usb_message(): usb_bulk_write failed (requested=6, result=0)
Error: 96 218 jlink.c:1431 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1)
Debug: 97 218 core.c:1615 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 98 219 core.c:1618 adapter_khz_to_speed(): have interface set up
Error: 99 219 jlink.c:405 jlink_speed(): J-Link setting speed failed (0)
Debug: 100 219 command.c:631 run_command(): Command failed with error code -107
User : 101 219 command.c:669 command_run_line(): in procedure 'init'
demiurg_spb
Попробовал openocd 0.6.1 с ним тоже не заработалоsad.gif
Заметил, что он пытается открывать устройство с VID_1A40&PID_0101
Код
libusbx: info [cache_config_descriptors] could not access configuration descriptor (dummy) for '\\.\USB#VID_1A40&PID_0101#6&13F4C3E&0&1': [31] Присоединенное к системе устройство не работает.
хотя jlink в системе виден как: VID_1366&PID_0101.
Неужели никто не пытался завести схожую связку:
win7x64 + jlink + openocd?
demiurg_spb
Цитата(maugli @ Aug 14 2013, 17:58) *
Спасибо за идею, но у меня не USB3.0.
Я посмотрел что такое USB#VID_1A40&PID_0101 - это оказался USB-2.0 4-Port HUB от TERMINUS TECHNOLOGY INC.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.