por algum motivo, não consigo mais atualizar minha placa Nucleo (STM32F446) . Costumava funcionar bem... Recebi a seguinte mensagem:
openocd -f ./cfg/openocd.cfg -c "program ./build/ch.elf verify reset" -c "shutdown"
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 2000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : clock speed 1800 kHz
Info : STLINK v2 JTAG v34 API v2 SWIM v25 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.247800
Error: init mode failed (unable to connect to the target)
in procedure 'program'
in procedure 'init' called at file "embedded:startup.tcl", line 506
in procedure 'ocd_bouncer'
** OpenOCD init failed **
shutdown command invoked
Makefile:210: recipe for target 'flash' failed
make: *** [flash] Error 1
Também quando estou emitindo:
telnet localhost 4444
Eu recebo:
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Quando conecto minha placa Nucleo, posso ver sua versão de construção, etc. Estranho.
Editar: LD1 é sólido quando a placa está conectada. Eu acho que normalmente deveria estar piscando em vermelho.
Eu usei o utilitário st link, que é um programa do Windows fornecido pela st.
Isso me permitiu apagar e atualizar novamente o mcu usando a interface SWD.
A razão por trás do meu problema foi que marquei Definir todos os pinos livres como analógicos para otimizar o consumo de energia antes de gerar meus arquivos de projeto com o CubeMX. Na verdade, quebrou a configuração de inicialização, pois o pino BOOT0 foi definido como analógico.
TLDR: não marque Definir todos os pinos livres como analógicos no CubeMX