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

 
 
> OpenOCD & Cortex-M7 (ATSAMV71Q21)
doom13
сообщение May 18 2016, 15:50
Сообщение #1


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую.
Может кто работал и подскажет, как законнектить OpenOCD и ARM Cortex-M7 ATSAMV71Q21 (используется плата Atmel SAM V71 Xplained Ultra)?
Используется OpenOCD 0.10.0-201601101000-dev.
Пока удалось подключиться и залить тестовую прошивку через USB-EDBG (CMSIS-DAP) порт, использовались Config options:
Код
-f interface/cmsis-dap.cfg
-f board/atmel_samv71_xplained_ultra.cfg
.
Надо чтобы всё работало через SWD (на схеме платы отмечен как ARM JTAG??? см. рисунок), для этого использую программер Olimex ARM-USB-Tiny-H и переходник Olimex ARM-JTAG-SWD. Для подключения чегез SWD использую Config options:
Код
-f interface/ftdi/olimex-arm-usb-tiny-h.cfg
-f board/atmel_samv71_xplained_ultra.cfg

, но не коннектится. Кто что может посоветовать? Ещё нет уверенности что Olimex ARM-USB-Tiny-H нормально взаимодействует с OpenOCD 0.10.0-201601101000-dev, т.к. подключиться к процессору LPC1788 в этом случае так же не получается (спрашивал тут).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Raven
сообщение May 19 2016, 09:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Зачем вам этот сырой 0.10.0? Работайте на устоявшемся 0.9.0. Вы его на этой плате пробовали?
Go to the top of the page
 
+Quote Post
doom13
сообщение May 19 2016, 10:12
Сообщение #3


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Raven @ May 19 2016, 12:39) *
Зачем вам этот сырой 0.10.0? Работайте на устоявшемся 0.9.0. Вы его на этой плате пробовали?

Просто там есть нужные мне конфиги. В 0.9.0 не нашёл.
Go to the top of the page
 
+Quote Post
Raven
сообщение May 19 2016, 10:16
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(doom13 @ May 19 2016, 13:12) *
Просто там есть нужные мне конфиги. В 0.9.0 не нашёл.

О чем конкретно идет речь? Опять же, всегда есть возможность составить свой конфиг (в том числе и по мотивам чего-то имеющегося).
Go to the top of the page
 
+Quote Post
doom13
сообщение May 19 2016, 10:43
Сообщение #5


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Raven @ May 19 2016, 13:16) *
О чем конкретно идет речь? Опять же, всегда есть возможность составить свой конфиг (в том числе и по мотивам чего-то имеющегося).

Речь о конфигах из архива выше. Допилить можно, но сложно, поэтому и прошу помощи.

Цитата(Шаманъ @ May 19 2016, 13:13) *
Видимо в 0.10.0 что-то поменяли и команда transport select swd теперь требует дополнительных параметров.
А от 0.10.0 к 0.9.0 они не подходят? Возможно с некоторым допиливанием?

Это проверю.

Подключил скрипты (см. архив выше) из 0.10.0 к 0.9.0:
Код
-f interface/cmsis-dap.cfg
-f board/atmel_samv71_xplained_ultra.cfg
-d 3

получаю ошибку (на 0.10.0 тут всё работает):
CODE

Open On-Chip Debugger 0.9.0 (2015-05-19-12:09)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
User : 13 2 command.c:546 command_print(): debug_level: 3
Debug: 14 2 options.c:98 add_default_dirs(): bindir=bin-x64
Debug: 15 2 options.c:99 add_default_dirs(): pkgdatadir=
Debug: 16 2 options.c:100 add_default_dirs(): run_prefix=C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0/
Debug: 17 2 configuration.c:44 add_script_search_dir(): adding C:\Users\andrei.hres\AppData\Roaming/OpenOCD
Debug: 18 2 configuration.c:44 add_script_search_dir(): adding C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//site
Debug: 19 2 configuration.c:44 add_script_search_dir(): adding C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//scripts
Debug: 20 3 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_gdb_port 3333
Debug: 21 3 command.c:145 script_debug(): command - gdb_port ocd_gdb_port 3333
Debug: 23 3 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_telnet_port 4444
Debug: 24 3 command.c:145 script_debug(): command - telnet_port ocd_telnet_port 4444
Debug: 26 3 configuration.c:84 find_file(): found C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//scripts/interface/cmsis-dap.cfg
Debug: 27 4 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface cmsis-dap
Debug: 28 4 command.c:145 script_debug(): command - interface ocd_interface cmsis-dap
Debug: 30 4 command.c:366 register_command_handler(): registering 'ocd_cmsis-dap'...
Debug: 31 4 command.c:366 register_command_handler(): registering 'ocd_cmsis_dap_vid_pid'...
Debug: 32 4 command.c:366 register_command_handler(): registering 'ocd_cmsis_dap_serial'...
Info : 33 4 transport.c:118 allow_transports(): only one transport option; autoselect 'swd'
Debug: 34 4 command.c:325 command_new(): BUG: command 'swd' does not have the '.usage' field filled out
Debug: 35 4 command.c:366 register_command_handler(): registering 'ocd_swd'...
Debug: 36 5 command.c:366 register_command_handler(): registering 'ocd_swd'...
Debug: 37 5 configuration.c:84 find_file(): found C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//scripts/board/atmel_samv71_xplained_ultra.cfg
Debug: 38 5 configuration.c:84 find_file(): found C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//scripts/target/atsamv.cfg
Debug: 39 5 configuration.c:84 find_file(): found C:/ARM/GNU ARM Eclipse/OpenOCD/0.9.0//scripts/target/swj-dp.tcl
Debug: 40 5 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 41 5 command.c:145 script_debug(): command - ocd_transport ocd_transport select
Debug: 42 6 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 43 6 command.c:145 script_debug(): command - ocd_transport ocd_transport select
Debug: 44 6 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 45 6 command.c:145 script_debug(): command - ocd_transport ocd_transport select
Debug: 46 6 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 47 6 command.c:145 script_debug(): command - ocd_transport ocd_transport select
Debug: 48 6 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_swd newdap samv71 cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x0bd11477
Debug: 49 7 command.c:145 script_debug(): command - ocd_swd ocd_swd newdap samv71 cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x0bd11477
Debug: 50 7 tcl.c:549 jim_newtap_cmd(): Creating New Tap, Chip: samv71, Tap: cpu, Dotted: samv71.cpu, 8 params
Debug: 51 7 core.c:1302 jtag_tap_init(): Created Tap: samv71.cpu @ abs position 0, irlen 0, capture: 0x0 mask: 0x0
Debug: 52 7 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_target create samv71.cpu cortex_m -endian little -chain-position samv71.cpu
Debug: 53 7 command.c:145 script_debug(): command - ocd_target ocd_target create samv71.cpu cortex_m -endian little -chain-position samv71.cpu
Debug: 54 7 target.c:1837 target_free_all_working_areas_restore(): freeing all working areas
Debug: 55 7 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 56 8 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 57 8 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 58 8 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 59 8 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 60 8 command.c:366 register_command_handler(): registering 'ocd_arm'...
Debug: 61 8 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 62 8 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 63 8 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 64 8 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 65 8 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 66 9 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 67 9 command.c:366 register_command_handler(): registering 'ocd_dap'...
Debug: 68 9 command.c:366 register_command_handler(): registering 'ocd_tpiu'...
Debug: 69 9 command.c:366 register_command_handler(): registering 'ocd_itm'...
Debug: 70 9 command.c:366 register_command_handler(): registering 'ocd_itm'...
Debug: 71 9 command.c:366 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 72 9 command.c:366 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 73 9 command.c:366 register_command_handler(): registering 'ocd_cortex_m'...
Debug: 74 9 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 75 9 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 76 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 77 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 78 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 79 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 80 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 81 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 82 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 83 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 84 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 85 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 86 10 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 87 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 88 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 89 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 90 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 91 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 92 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 93 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 94 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 95 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 96 11 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 97 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 98 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 99 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 100 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 101 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 102 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 103 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 104 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 105 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 106 12 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 107 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 108 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 109 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 110 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 111 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 112 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 113 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 114 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 115 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 116 13 command.c:366 register_command_handler(): registering 'ocd_samv71.cpu'...
Debug: 117 14 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_samv71.cpu configure -work-area-phys 0x20400000 -work-area-size 0x4000 -work-area-backup 0
Debug: 118 14 command.c:145 script_debug(): command - ocd_samv71.cpu ocd_samv71.cpu configure -work-area-phys 0x20400000 -work-area-size 0x4000 -work-area-backup 0
Debug: 119 14 target.c:1837 target_free_all_working_areas_restore(): freeing all working areas
Debug: 120 14 target.c:1837 target_free_all_working_areas_restore(): freeing all working areas
Debug: 121 14 target.c:1837 target_free_all_working_areas_restore(): freeing all working areas
Debug: 122 14 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_adapter_khz 1800
Debug: 123 14 command.c:145 script_debug(): command - adapter_khz ocd_adapter_khz 1800
Debug: 125 14 core.c:1629 jtag_config_khz(): handle jtag khz
Debug: 126 14 core.c:1596 adapter_khz_to_speed(): convert khz to interface specific speed value
Debug: 127 15 core.c:1596 adapter_khz_to_speed(): convert khz to interface specific speed value
User : 128 15 command.c:546 command_print(): adapter speed: 1800 kHz
Debug: 129 15 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_transport select
Debug: 130 15 command.c:145 script_debug(): command - ocd_transport ocd_transport select
Debug: 131 15 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_cortex_m reset_config sysresetreq
Debug: 132 15 command.c:145 script_debug(): command - ocd_cortex_m ocd_cortex_m reset_config sysresetreq
User : 134 15 command.c:546 command_print(): cortex_m reset_config sysresetreq
Debug: 135 15 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_flash bank samv71.flash atsamv 0x00400000 0 0 0 samv71.cpu
Debug: 136 16 command.c:145 script_debug(): command - ocd_flash ocd_flash bank samv71.flash atsamv 0x00400000 0 0 0 samv71.cpu
Error: 138 16 tcl.c:778 handle_flash_bank_command(): flash driver 'atsamv' not found
Debug: 139 16 command.c:628 run_command(): Command failed with error code -4
User : 140 16 command.c:689 command_run_line():

Правильно ли понимаю, что 0.9.0 не потянет данный контроллер? Или всё же можно что-то сделать?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 19 2016, 11:52
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(doom13 @ May 19 2016, 13:43) *
Правильно ли понимаю, что 0.9.0 не потянет данный контроллер? Или всё же можно что-то сделать?

Да, судя по этому сообщению:
Код
Error: 138 16 tcl.c:778 handle_flash_bank_command(): flash driver 'atsamv' not found

У 0.9.0 нет драйвера atsamv (или он как-то по-другому называется).

Кстати посмотрел 0.9.0 так же ругается на swd. Досмотрел предыдущий лог (от 0.10.0) до конца - так у Вас он не находит Ваш интерфейс. Проверяли его с чем-нибудь другим, работает?
Go to the top of the page
 
+Quote Post
doom13
сообщение May 19 2016, 12:19
Сообщение #7


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Шаманъ @ May 19 2016, 14:52) *
Досмотрел предыдущий лог (от 0.10.0) до конца - так у Вас он не находит Ваш интерфейс. Проверяли его с чем-нибудь другим, работает?

Слил последнюю версию CrossWorks, с ней Olimex ARM-USB-Tiny-h + Olimex ARM-JTAG-SWD подключённый к моей плате не работает, пишет ошибку не найден SWD.
Разница только в драйверах, для CrossWorks используются стандартные драйвера для Olimex (система видит их как libusb-win32 devices) для Eclipse + OpenOCD перебитые Zadig-ом.


И CrossWorks и Eclipse коннектятся к плате по CMSIS-DAP.
Go to the top of the page
 
+Quote Post
Raven
сообщение May 19 2016, 12:28
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(doom13 @ May 19 2016, 15:19) *
используются стандартные драйвера для Olimex (система видит их как libusb-win32 devices) для Eclipse + OpenOCD перебитые Zadig-ом.

А правильно перебитые? Они же то ли в 0.9.0, то ли 0.10.0 перешли на winusb драйвер вместо libusb.

С lpc1788 в соседней ветке у вас на 0.10.0 прошло через эту точку? (зависимость от драйвера USB проявлялась?)

И поясните - успешный запуск 0.10.0 с каким-то Tool'ом был? А то неясно как-то.
Go to the top of the page
 
+Quote Post
doom13
сообщение May 19 2016, 12:48
Сообщение #9


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Raven @ May 19 2016, 15:28) *
А правильно перебитые? Они же то ли в 0.9.0, то ли 0.10.0 перешли на winusb драйвер вместо libusb.
С lpc1788 в соседней ветке у вас на 0.10.0 прошло через эту точку? (зависимость от драйвера USB проявлялась?)
И поясните - успешный запуск 0.10.0 с каким-то Tool'ом был? А то неясно как-то.

Думаю правильно.
Для работы lpc1788 в Eclipse драйвера Olimex перебиваю программой Zadig, далее работают все версии OpenOCD (0.8.0 - работала и ранее, 0.9.0 и 0.10.0 - после исправления конфигурационного скрипта).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   OpenOCD & Cortex-M7 (ATSAMV71Q21)   May 18 2016, 15:50
- - doom13   Добавлю используемые скрипты:   May 19 2016, 08:20
- - Шаманъ   Цитата(doom13 @ May 18 2016, 18:50) Надо ...   May 19 2016, 08:52
- - doom13   Прописал Config options в Eclipse так: Код-f inter...   May 19 2016, 09:18
- - Шаманъ   Цитата(doom13 @ May 19 2016, 12:18) получ...   May 19 2016, 10:13
- - Raven   А конфигурация Eclipse+OOCD_0.10.0+samv71 работает...   May 19 2016, 13:03
|- - doom13   Цитата(Raven @ May 19 2016, 16:03) А конф...   May 19 2016, 13:12
- - Шаманъ   Цитата(Raven @ May 19 2016, 15:28) Они же...   May 19 2016, 13:55
|- - doom13   Цитата(Шаманъ @ May 19 2016, 16:55) doom1...   May 19 2016, 14:59
|- - Шаманъ   Цитата(doom13 @ May 19 2016, 17:59) Не хо...   May 19 2016, 16:54
|- - doom13   Цитата(Шаманъ @ May 19 2016, 19:54) Я с Э...   May 19 2016, 17:41
|- - Шаманъ   Цитата(doom13 @ May 19 2016, 20:41) ну и ...   May 20 2016, 05:45
|- - doom13   Цитата(Шаманъ @ May 20 2016, 08:45) А как...   May 20 2016, 15:52
- - Raven   Частоту SWD снижать пробовали (до 50-100 кГц)? В к...   May 19 2016, 14:21
- - Raven   Как получается, что один и тот же набор железа и с...   May 20 2016, 13:03
- - Raven   Есть ли вести с фронта?   Jun 16 2016, 10:22
- - doom13   Цитата(Raven @ Jun 16 2016, 13:22) Есть л...   Jun 16 2016, 10:57


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:54
Рейтинг@Mail.ru


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