Já apresentamos as ferramentas de depuração de hardware/programador anteriormente. Agora, vamos aprender juntos sobre o programador ST-Link. Neste artigo, você aprenderá sobre as diferentes versões do ST-Link, suas diferenças e como usá-las para programar seu chip.
Versão ST-Link
Atualmente, existem três versões do ST-Link: ST-LINK/V1, ST-LINK/V2 e STLINK-V3. Ao mesmo tempo, a placa de desenvolvimento ST também vem com sua própria ferramenta ST-Link, mas sua versão ST-Link varia dependendo da placa de desenvolvimento.
ST-LINK V1
O ST-LINK V1 é a versão mais antiga e, atualmente, poucas pessoas o utilizam no mercado.

ST-LINK V2
A versão ST-LINK V2 pode ser dividida em duas: ST-LINK/V2 (versão padrão) e ST-LINK/V2-ISOL (versão isolada). Entre elas, a ISOL (Isolamento) vem com isolamento de 1000 V. Esta versão é relativamente cara.


ST-LINK V3
O STLINK-V3 também possui várias categorias:
STLINK-V3SET
O STLINK-V3SET é um conjunto de ferramentas de programação de download totalmente funcionais, independentes da placa de avaliação ST, e também é uma ferramenta STLINK-V3 convencional. Ele está à venda por US$ 35.

STLINK-3MINI
Em 2019, a ST lançou o STLINK-3MINI, mais compacto e menor, medindo apenas 15 x 30 mm, e seu preço quando foi colocado à venda era de apenas US$ 9,75.

STLINK-V3MODS
As funções do STLINK-V3MODS e do STLINK-V3MINI são basicamente as mesmas, mas os cenários de aplicação são diferentes. Você pode compará-lo com a "versão selo" do STLINK-V3MINI.

B-STLINK-VOLT
A placa B-STLINK-VOLT é um módulo adicional/placa adaptadora para STLINK-V3SET. É mais adequada para sistemas STM32 de baixa tensão (como 1,8 V).

B-STLINK-ISOL
O B-STLINK-ISOL é semelhante ao B-STLINK-VOLT e também é uma "placa de expansão" para o STLINK-V3SET. Ele fornece funções de isolamento galvânico e conversão de tensão e é usado com microcontroladores abaixo de 3,3 V.

STLINK-V3PWR
O STLINK-V3PWR, lançado em março de 2023, é um hardware ST-Link usado para monitorar e depurar a corrente de baixa potência do STM32. O preço de lançamento é de US$ 93,10.

Diferentes interfaces do ST-LINK
Interface SWIM
A interface SWIM é usada para depurar e baixar o STM8. Ela tem apenas quatro fios e é definida da seguinte forma:
| ST-LINK Port | STM8 Target Board | Function |
|---|---|---|
| VDD | MCU VCC | Connects to STM8's power supply VCC |
| DATA | MCU SWIM PIN | Connects to STM8's SWIM pin |
| GND | GND | Connects to STM8's GND |
| RESET | MCU RESET PIN | Connects to STM8's reset pin |
Interface JTAG/SWD
A interface ST-Link/V2 JTAG/SWD é definida da seguinte forma:
| Pin | ST-LINK Port | Target STM32 (JTAG) | Target STM32 (SWD) |
|---|---|---|---|
| 1 | TVCC | MCU VDD | MCU VDD |
| 2 | TVCC | MCU VDD | MCU VDD |
| 3 | TRST | JNTRST | GND |
| 4 | GND | GND | GND |
| 5 | TDI | JTDI | GND |
| 6 | GND | GND | GND |
| 7 | TMS_SWDIO | JTMS | SWDIO |
| 8 | GND | GND | GND |
| 9 | TCK_SWCLK | JTCK | SWCLK |
| 10 | GND | GND | GND |
| 11 | NC | NC | NC |
| 12 | GND | GND | GND |
| 13 | TDO_SWO | JTDO | TRACESWO (for SWV) |
| 14 | GND | GND | GND |
| 15 | NRST | NRST | NRST |
| 16 | GND | GND | GND |
| 17 | NC | NC | NC |
| 18 | GND | GND | GND |
| 19 | VDD | NC | NC |
| 20 | GND | GND | GND |
Ferramenta de programação ST-LINK
Uma característica comum do ST-LINK é que ele é usado para programação (download de programas). As ferramentas de programação incluem: STVP, STM32 ST-LINK Utility e STM32CubeProgrammer.
- STVP: Uma ferramenta que pode ser usada tanto para programação STM8 quanto 32.
- ST-LINK Utility: uma ferramenta limitada à programação STM32.
- STM32CubeProg: uma ferramenta que pode ser usada para programação STM8 e 32.
Um exemplo de programação ST-LINK com Keil 5
Aqui apresentamos como usar o st-link v2 no Keil 5 para baixar e depurar programas para a placa de desenvolvimento arm. Incluindo o método de fiação do stlink, a configuração do stlink no keil, a depuração no keil, etc.
Keil 5 Configuração
Clique na varinha mágica na barra de ferramentas Keil para abrir a caixa de diálogo de configuração, conforme mostrado abaixo:


Marque "Redefinir e Executar" e o programa será automaticamente redefinido e executado após o download para o microcontrolador.

Depuração
Entrar no estado de depuração
Clique no botão para entrar ou sair do modo de depuração:

Operações comuns de depuração
Redefinir
Redefina o programa para sua posição inicial.

Depuração em uma única etapa
Isso significa que cada vez que o botão é clicado, o programa executa uma etapa. Ao encontrar uma função de chamada, ele entrará na função chamada. Clique no botão do ícone ou pressione a tecla de atalho F11.

Depuração passo a passo
Significa depuração linha por linha, ou seja, cada vez que o botão é clicado, o programa executa uma linha. Quando uma função é encontrada, ela não entra na função. Clique no botão do ícone ou pressione a tecla de atalho F10.

Sair da depuração
significa sair da depuração da função, ou seja, cada vez que o botão é clicado, o programa sai de uma função até que a função mais externa (função principal) seja abandonada. Clique no botão do ícone ou pressione a tecla de atalho Ctrl + F11.

Execute o programa na posição específica
Se você clicar no botão (ou Ctrl + F11), o programa irá parar quando chegar à posição do cursor (desde que o programa possa ser executado até a posição do cursor).

Ir para a posição de pausa do programa da Keil
Esta função é eficaz quando o programa para de funcionar e pode ajudar-nos a encontrar o local da pausa do programa.

Janela de depuração
O menu da janela de depuração só é ativado durante o processo de depuração e é diferente da janela no estado normal de edição.

Memória ou Janela Variável
Selecione uma variável, clique com o botão direito do mouse e selecione "Adicionar 'Nome da variável' a…" para adicioná-la à janela de observação especificada.

Janela Periféricos do Sistema
Ou seja, a janela de visualização do valor do registro periférico.



