openocd - проблема перепрошивки nrf52 с использованием stlink - PullRequest
1 голос
/ 13 октября 2019

У меня есть некоторые проблемы при прошивке прошивки с использованием STLINKv2 (с платы Nucleo) с целевым устройством nRF52 с использованием SWD. Короче говоря, я могу «подключиться» к nRF52 (я могу открыть сеанс telnet), но как только я пытаюсь выполнить команду Program, я получаю бесполезную ошибку (ниже). Шестнадцатеричный файл компилируется с использованием параметра файла Arduino "export bin". (Использование SEGGER сейчас не вариант)

Более подробная информация ниже:

OSX версия 10.14.6, OpenOCD версия 0.10.0.

Запуск в терминале openocd -f interface/stlink-v2-1.cfg -f target/nrf52.cfg возвращает:

Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 10000 kHz
Info : Unable to match requested speed 10000 kHz, using 4000 kHz
Info : Unable to match requested speed 10000 kHz, using 4000 kHz
Info : clock speed 4000 kHz
Info : STLINK v2 JTAG v28 API v2 SWIM v17 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 0.014192
Error: target voltage may be too low for reliable debugging
Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints

Затем я могу использовать telnet, используя telnet localhost 4444:

telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger 

В Telnet я могу запускать базовые команды на nRF52, и когда я выполняю: program /full/path/to/hex/file.hex Я получаю следующее сообщение:

target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
** Programming Started **
embedded:startup.tcl:476: Error: ** Programming Failed **
in procedure 'program' 
in procedure 'program_error' called at file "embedded:startup.tcl", line 532
at file "embedded:startup.tcl", line 476

Хотелось бы узнать, что я делаю неправильно!

ETA: ошибка напряжения не связана;Это произошло из-за ошибки в аппаратном обеспечении программатора Nucleo SWD, к которой нужно припаять проволочную перемычку от VDD-TARGET к внешнему выводу R24. (Когда вы отключаете Nucleo от платы STLINK, вы разрываете эту ссылку) Сделали это, однако проблема остается.

...