Open mikchel-26 opened 4 months ago
Добрый день, судя по логам openocd не может получить доступ к программатору stlink-v2, чтобы openocd на Windows смог получить доступ к stlink, нужно для него поставить драйвера libusb, например с помощью программы Zadig.
Добрый день.
Благодарю за помощь.
Воспользовавшись по вашей рекомендации программой Zadig протестировал все драйвера для STLink, которые она предлагает. И нашёл решение проблемы.
Как и в теме #3 проблема оказалась в буфере (или преобразователе уровней).
Примечание - Дальнейшие операции производились после переустановки драйвера.
Потыкав осциллом в точки (см. рисунок) цепей SWDIO и SLCK, обнаружил, что в одной из них нет сигнала при попытке очистки МК. Это была точка SWDIO со стороны МК, т.е. до МК не доходил сигнал.
Попытка прогреть феном элемент результата не дала.
Подключив цепь SWDIO напрямую к МК (в обход буфера) и при зажатой кнопке USER (после Reset, как по инструкции) удалось очистить память МК.
Прошу подсказать, какой элемент можно поставить для замены неисправного. А то напрямую как-то неприятно подключаться.
xPack Open On-Chip Debugger 0.12.0+dev-00520-gc670187e1-dirty (2023-11-17-06:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
hla_swd
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Info : STLINK V2J43S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.287715
Info : [k1921vk035.cpu] Cortex-M4 r0p1 processor detected
Info : [k1921vk035.cpu] target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for k1921vk035.cpu on 3333
Info : Listening on port 3333 for gdb connections
[k1921vk035.cpu] halted due to debug-request, current mode: Thread
xPSR: 00000000 pc: 00000000 msp: 00000000
Info : K1921VK035 detected
Для драйверов были почти одинаковые логи:
C:\Users\chelushkin_mn\.platformio\packages\tool-openocd-k1921vk\bin\openocd -s C:\Users\chelushkin_mn\.platformio\packages\framework-k1921vk-sdk\tools\openocd\openocd-snippets\k1921vk035 -s C:\Users\chelushkin_mn\.platformio\packages\tool-openocd-k1921vk\scripts -f interface/stlink.cfg -c "transport select hla_swd" -f target/k1921vk035.cfg -c "init; reset init; flash probe 0; k1921vk035 srv_erase; exit"
xPack Open On-Chip Debugger 0.12.0+dev-00520-gc670187e1-dirty (2023-11-17-06:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
hla_swd
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Info : STLINK V2J43S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.268829
Error: init mode failed (unable to connect to the target)
*** [service_full_erase] Error 1
Неработающим драйвером оказался только один:
xPack Open On-Chip Debugger 0.12.0+dev-00520-gc670187e1-dirty (2023-11-17-06:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
hla_swd
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: open failed
*** [service_full_erase] Error 1
Спасибо за диагностику. Драйвер USB Serial (CDC) как раз и не должен отрабатывать так он используется для USB-UART устройств. По электросхеме чуть позже ответит мой коллега @demsergey
Не стирается и не шьётся, хотя всё делал по инструкции. https://github.com/DCVostok/vostok-1-frmwrk-vn-arduino/blob/main/doc/Activate_JTAG.ru.md Пробовал стирать память из Platformio и напрямую из cmd.
Программатор - клон stlink-v2.
Удерживал нажатой кнопку USER после сброса и во время запуска скрипта service_full_erase.
Ниже лог из из Platformio: