Перейти к содержанию
    

JetLink и прямой доступ к памяти

Уважаемые!

 

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

 

Требуется записывать некие данные непосредственно в конкретные ячейки памяти. Немного, с десяток байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

gdb в связке с OpenOCD -- не?

Это, насколько я понимаю, штуки под Linux. А под Win ничего нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..использовать JetLink как чистый программатор?..

 

ну вроде это и есть программатор. если флэш - то типа он может отдельно от компа размножать и управляться внешней байдой.

в нужное место пару байт - вот это скорее всего с ограничениями думаю. типа на уровне страницы либо чтение-модификация-запись.

ИМХО - нужно глянуть закладки софта у кейла и иара на предмет локального апдэйта пару байтиков.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cпасибо, разобрались.

 

С помощью J-Flash, хоте несколько замысловато, но можно сделать программирование нужных байтов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Под Win то же самое
Ну видимо не совсем:(

Имеем

1) win7 x64

2) openocd 0.7.0

3) libusb 1.2.6.0

4) jlink (несколько проверенных клонов от разных производителей)

 

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

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"

имею:

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'

Ума не приложу куда ещё можно копать:(

 

Вот полный лог с ключиком -d3:

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'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал openocd 0.6.1 с ним тоже не заработало:(

Заметил, что он пытается открывать устройство с 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?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за идею, но у меня не USB3.0.

Я посмотрел что такое USB#VID_1A40&PID_0101 - это оказался USB-2.0 4-Port HUB от TERMINUS TECHNOLOGY INC.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...