Eu construí minha própria placa com STM32F7-45VGT6. Programei com sucesso com o ST-LINK v2 (embora não o original) e agora não consigo nem me conectar ao MCU.
Eu uso o Utilitário ST-Link da interface ST e SWD. Pode ser que eu use pinos SWD como saída e no meu código eu os defino como saída GPIO. Pode ser o caso?
No entanto, conecto meu pino de redefinição ao GND e defino a opção "Conectar sob redefinição" no Utilitário ST-Link, mas ele não funciona ... O que posso fazer?
Na Internet, descobri algo sobre o uso do BOOT0 Pin, mas não sei exatamente ...
stm32
programming
flash
st-link
zupazt3
fonte
fonte
Respostas:
Eu consegui resolver esse problema. Se alguém encontrar um problema semelhante, aqui está o que eu fiz:
Eu usei o ST-Link v2 e o ST-Link Utility. Na configuração, defino "Connect under reset" e a interface SWD (não tenho certeza sobre a frequência).
Então eu pressiono o botão reset na minha placa e clicou em "Target" -> "Erase chip" e logo após clicar soltei o botão - Ele apagou o chip para que eu possa reprogramar meu MCU.
De qualquer forma, se você precisar usar pinos SWD como saída, adicione algum atraso no início do programa ou use algum jumper para desativar / ativar a configuração desses pinos como saídas.
fonte
Para que a conexão sob redefinição funcione, o ST-Link deve ter controle sobre o pino de redefinição, se você o amarrar ao terra, o ST-Link não terá chance de colocar o alvo em funcionamento e obter acesso a ele.
Se você puxar o pino BOOT0 alto durante a inicialização, o MCU iniciará no carregador de inicialização interno e você poderá obter acesso usando vários protocolos seriais (consulte o manual de referência para obter mais detalhes).
Dentro do gerenciador de inicialização, os pinos do SWD devem estar disponíveis para obter acesso, mas não tenho 100% de certeza disso.
O ST Flash Loader Demonstrator é uma ferramenta que permite apagar / programar o micro usando a interface UART. Se você não conseguir acessar nenhum dos UARTs do seu micro, esta solução não funcionará para você.
fonte
se você estiver usando stmcubemx, precisará configurar o fio serial na guia pinagem do stmcube. na guia pinagem, clique em SYS e altere a opção de depuração para fio serial. isso resolve meu problema e talvez também o seu problema.
fonte
Eu baixei algum código para minha própria placa STM32F427. Então não consigo mais conectar à minha placa usando o Utilitário ST-LINK. Eu acho que meu código messup as configurações de pinos da porta de depuração (? Não é possível confirmar). O que fiz foi o seguinte para fazer a conexão e reprogramar minha placa:
Eu restaurei duas placas com esse truque. Espero que isto ajude. --Prumo
fonte
Como dili disse:
O STM32CubeMx não configura a porta de depuração por padrão; consequentemente, o ST-Link deixará de funcionar assim que você atualizar seu código. Você precisa apagar o chip com o ST-link Utility, por exemplo. Para conectar com o MCU, tive que puxar o pino BOOT0 alto durante a inicialização para ativar o carregador de inicialização. Então vá ao menu Tarjet e apague o chip .
fonte
Para reprogramar o MCU, mantenha pressionado o botão de redefinição e escolha conectar ao dispositivo no ST-Link Utility ou pressione o download no seu IDE (por exemplo, Keil) e solte o botão de redefinição.
fonte
Os pinos de inicialização (bits em algumas versões) podem impedir que o depurador seja iniciado. Certifique-se de não implementar o padrão de inicialização na inicialização (certo padrão binário nos pinos boot0 e boot1), caso contrário, o seu MCU entrará no estado de inicialização.
fonte