
Oi Geektimes!
Hoje eu quero falar sobre a conclusão do ST-Link v2 chinês com um ferro de soldar. Você pode adicionar uma saída SWO para receber informações de depuração e o pé de controle Reset para microcontroladores STM32 (a mesma perna de Reset já disponível para o STM8). Talvez para muitos isso não seja uma descoberta, mas que haja informações para iniciantes. Quem se importa, por favor, debaixo do gato.
Por que é necessário?A interface SWD usada para depurar microcontroladores STM32 suporta a transferência de informações de depuração através da saída SWO em tempo real, o que é muito conveniente. Bem, o pé de redefinição é necessário para que seja mais confortável piscar o controlador se a interface SWD estiver desativada. O motivo é certamente exagerado, porque no firmware você sempre pode pressionar o botão Redefinir com as alças, mas deixe estar. Por exemplo, no início do meu conhecimento do STM32, recebi uma placa de depuração da China com um programa de demonstração piscando com um LED piscando e desativado o SWD, não entendi imediatamente como me conectar a ele.
Revisão em si
Precisamos de um bisturi, um ferro de solda e alguns centímetros de um fio muito fino, tenho MGTF * algum * lá. Nesses programadores, o conector é dividido em duas partes: a esquerda - para STM8 e a direita - para STM32; portanto, a redefinição existente não é adequada para STM32;
Primeiro de tudo, corte as faixas que vão para os pinos desnecessários. No meu primeiro programador modificado, cortei as pernas Reset e SWIM, porque não planejava trabalhar com o STM8, mas agora usarei os pinos extras de 3,3 e 5 V (eles são duplicados no conector), para não estragar a funcionalidade do programador, será útil.
Os fios devem ser soldados aos 18 pés (Reset) e 31 (SWO) do microcontrolador. Essa é outra lição, mas com alguma habilidade você pode fazer isso. Meus fios foram bem nos orifícios da placa, o que deu fixação adicional. Em geral, de uma maneira boa, você deve corrigi-los imediatamente com cola no microcontrolador. Solde as extremidades livres através de pequenos resistores (sejam 22 Ohms) aos pinos recém-cortados.
Você pode encerrar o caso e assinar novas conclusões, para não esquecer onde.
Verificação SWO

Para usar
SWO, você deve:
- ativar
SWD ;
- habilitar a saída correspondente (para microcontroladores STM32F103C é PB3) no
TRACESWO ;
- verifique se o
SWO está incluído no ambiente de programação e não na
semi-hospedagem ;
- no cabeçalho do programa, conecte a biblioteca
#include "stdio.h" ;
- use
printf no código do programa
("Hello STM32 world! \ R \ n") ;
Você pode visualizar essas mensagens através do terminal no programa STM32 ST-LINK Utility ou diretamente durante a depuração no meu ambiente (eu uso o IAR).
Redefinir verificaçãoSuponha que, por algum motivo, o SWD esteja desativado no microcontrolador: você esqueceu de ligá-lo durante a inicialização ou uma nova placa veio com um programa de demonstração com fio. Obviamente, você pode piscar puxando a perna Reset para o chão (geralmente há um botão nas placas de depuração), mas isso nem sempre é conveniente. Você pode simplesmente conectar o contato do programador e costurar automaticamente.
No mesmo programa do STM32 ST-LINK Utility, selecione “Connect under reset” e conecte para piscar ou limpar a memória do microcontrolador.
Ou no seu IDE, selecione o item apropriado:
Isso permitirá que você pisque e entre no modo de depuração, mas assim que você chegar à inicialização da periferia, o SWD será desconectado e a comunicação com o controlador desaparecerá.
Obrigado por sua atenção, espero que alguém seja útil.