10 Comentários

Convertendo ST-Link em um J-link

Neste artigo veremos como converter o gravador e debugger ST-Link da ST em um J-Link da SEGGER, e suas principais diferenças e como usá-los no System Workbench e Atollic (principais ferramentas de desenvolvimento da ST).

J-Link

O J-Link é uma ferramenta poderosa de gravação e debug da SEGGER. Diferente do ST-Link, ele possui um GDB Server integrado em seu hardware, permitindo a depuração do target via JTAG ou SWD mais rápida. A velocidade de depuração e gravação na flash e RAM do ST-Link pode chegar a 12,8 KBytes/s, enquanto o J-Link na sua versão Pro pode chegar a 3 MBytes/s.

O J-Link possui suporte para CPUs ARM 7/9/11, Cortex-M/R/A, Microchip PIC32, Renesas RX. Os probes de depuração do J-Link são suportados por todas as principais IDEs, incluindo o Eclipse, as IDEs baseadas no GDB e o SEGGER Embedded Studio.

Kits de desenvolvimento ST

A SEGGER e a ST, diferente do que se possa pensar, possuem algumas parcerias comerciais. O resultado de uma delas criou a possibilidade de converter o ST-Link que vem nos kits de desenvolvimento Nucleo e Discovery da ST em uma versão lite do J-Link.

Ao realizar essa conversão você não ganha somente uma melhoria na performance de debug, mas também ganha acesso ao leque de ferramentas da SEGGER:

  • Ozone;
  • J-Link Configurator;
  • J-Link GDB Server;
  • J-Link Remote Server;
  • J-Link Commander;
  • J-Scope;
  • SystemView (Versão Pro e paga);
  • RTT Viewer.

Para não fugir muito do tema, o uso e configuração de cada uma dessas ferramentas serão abordados em artigos futuros aqui no Embarcados.

Realizando a conversão

Nesta etapa você precisa usar uma máquina com o sistema operacional Windows, certifique-se que você tem os drivers da ST instalados em sua máquina. Caso não tenha, baixe-os neste link.

O windows reconheceu sua placa. Baixe o ST-Link Reflash aqui.

Ao executar o programa STLinkReflash.exe, você precisará aceitar os termos da SEGGER para realizar a conversão.

Após aceitar os termos, será exibido um menu com 4 opções. A opção 1 realiza a conversão de ST-Link para J-Link; a opção 2 atualiza o firmware do J-Link e a opção 3 realiza a conversão de J-Link para ST-Link. Selecione a opção 1 para realizar a conversão.

Para saber se a conversão foi realizada com sucesso, verifique se algum dispositivo J-Link foi detectado como mostra a figura abaixo.

Usando o J-Link no System Workbench

Ao instalar a IDE System Workbench o plugin de debug via J-Link não virá instalado por padrão. Para instalar o plugin, 4 passos precisam ser realizados.

Passo 1 – Baixar os drivers J-Link

Acesse esta página e realize o download dos drivers J-Link para o sistema operacional correspondente:

No meu caso estou usando o sistema operacional Ubuntu/Linux e farei o download do arquivo JLink_Linux_V634h_x86_64.deb.

Após instalar o pacote JLink_Linux_V634h_x86_64.deb, na pasta /opt será criado um diretório SEGGER com os driver do J-Link.

Passo 2 – Instalar o pluging GNU ARM C/C++ J-Link Debugging no Eclipse

Acesse o caminho abaixo para instalar o Plugin J-Link para o Eclipse.

help->Install New Software->Add

Adicione o repositório abaixo para baixar e instale o pacote GNU ARM C/C++ J-Link Debugging.

http://gnuarmeclipse.sourceforge.net/updates/

Passo 3 – Configurar o Eclipse para usar os drivers do J-Link

Acesse o caminho Window > Preferences e procure pelo menu de configuração SEGGER J-Link.

Configure como mostra a figura abaixo:

Obs: A pasta /opt/SEGGER/JLink é um link de atalho para a pasta /opt/SEGGER/JLink_V634h

Passo 4 – Configurar o GDB para usar o J-Link

Neste ponto você já precisa ter um projeto pronto para testarmos o debug via J-Link.

Acesse Debug Configurations e crie uma nova instância do objeto GDB SEGGER J-Link Debugging.

Nesta etapa, 3 rotinas precisam ser configuradas:

  • Em Executable é preciso informar o caminho do arquivo /opt/SEGGER/Jlink/JLinkGDBServer. Porém já mapeamos este arquivo no passo 3 e ele já virou uma variável de sistema do eclipse via ${jlink_path}/${jlink_gdbserver}
  • Em Device Name precisamos indicar o ID do microcontrolador que estamos usando. No meu caso estou usando uma placa Nucleo-F401RE que usa o microcontrolador STM32F401RE. OBS: É preciso lembrar que estamos usando uma versão Lite do J-Link, portanto ele só executa debug e gravação de firmwares de microcontroladores usados nos kits Núcleo e Discovery.
  • Em GDB Client Setup que será usado no nosso caso será utilizada a variável de sistema ${openstm32_compiler_path}/arm-none-eabi-gdb, que faz referência ao arquivo ~/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.15.0.201708311556/tools/compiler/bin/arm-none-eabi-gdb.

A Figura abaixo mostra o resultado final e o J-Link sendo usado como ferramenta de debug.

Extra

Ainda no período de debug, caso queira ter mais informações, você pode acessar seu J-Link via browser no endereço localhost:19080. Nesta página são exibidas diversas informações como: consumo de energia do target, log, troca de mensagens via RTT, trace, breakpoints criados, status dos registradores da CPU, etc.

Usando o J-Link no Atollic

Aqui já não existem mais segredos ao instalar os drivers do J-Link no Atollic. É perguntado se você deseja instalar os pacotes de Debug do J-Link; fazendo isso ele já realiza todas as etapas mostradas acima. Tudo o que você precisa fazer é indicar qual ferramenta de debug você deseja usar como mostra a figura abaixo.

Conclusão

Neste artigo apresentamos a ferramenta debug J-Link e como podemos incorporá-la em nossos kits de desenvolvimento da ST.

Mostramos passo a passo como instalar e usá-la nas 2 principais IDEs de desenvolvimento da ST.

Talvez ao fazer esta conversão você não veja de imediato como o seu debug melhorou, isso vai depender do tamanho de sua aplicação e o tipo de Core ARM que você está usando. Eu confesso que só vi essa melhoria usando um Kit Discovery STM32F7. A melhoria de debug foi muito absurda.

Vantagens:

Um das grandes vantagens com certeza é o ganho de velocidade durante o período de debug.

Acesso aos softwares de desenvolvimento que ajudam a verificar a performance e desempenho de seu firmware. Essas ferramentas são disponibilizadas gratuitamente pela SEGGER, com o porém de você ter em mãos um J-Link original (Falaremos dessas ferramentas em artigos futuros).

Desvantagens:

As desvantagens são as limitações ao se usar um J-Link versão Lite, não podendo estender o debug a microcontroladores que não são usados nos kits de desenvolvimento da ST.

O preço desta ferramenta em comparação ao ST-Link acaba sendo uma desvantagem também. A versão PRO pode chegar perto de $ 1.000,00 (Mil dólares), porém existem versões Educational com custo perto dos $ 60,00 (sessenta dólares).

Extra:

A SEGGER possui parceria comercial com vários fabricantes de microcontroladores, entre os mais conhecidos aqui no Brasil estão NXP e a antiga Frescale.

Este artigo teve foco em como usar o J-Link nos kits de desenvolvimento da ST, porém existe a possibilidade de fazer o mesmo com o Kit de desenvolvimento de outros fabricantes. Para mais informações acesse o site da SEGGER e se informe.

Dúvidas:

Caso tenha ficado alguma duvida comente aqui embaixo! =)

Saiba mais

Primeiros passos com a Placa STM32F0 Discovery

GNU ARM Cross-toolchain – OpenOCD + GDB

Ambiente de desenvolvimento para LaunchPad Tiva C no Ubuntu

Referências

https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
https://www.segger.com/products/debug-probes/j-link/models/other-j-links/opensda-sda-v2/

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Convertendo ST-Link em um J-link
Comentários:
Notificações
Notificar
guest
10 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Willian Henrique
Willian Henrique
13/04/2020 17:49

Muito legal, com isso posso utilizar meu kit da stm para gravar microcontroladores da NXP, correto?

Andréa batiste
Andréa batiste
08/02/2019 16:15

Será que aqueles ST Link clones que compramos no Aliexpress aceita essa mudança de firmware??

Jonathan Gonzaga
Jonathan Gonzaga
Reply to  Jorge Guzman
22/10/2019 14:14

Jorge, de onde vc tirou essa informação de ser proibido e ilegal modificar o firmware dos ST link clones?

Wagner Caetano
Wagner
29/10/2018 10:06

Tenho uma dev board do nrf52832 e tem um j-link ob. Fiquei impressionado com a velocidade, é muito rápido.

Leandro Soares
Leandro Vilar Soares
26/10/2018 11:30

Muito legal. Mas eu tenho uma duvida. É possível, depois de fazer essa alteração, usar esse j-link no atmel studio?

Muriel Costa
Membro
26/10/2018 02:01

Muito bommm e de grande ajuda! Valeu pela dica e parabéns pelo artigo Jorge Guzman

Ricardo Noronha
Ricardo Noronha
25/10/2018 23:02

Muito bom o post!

Talvez você goste:

Séries

Menu

WEBINAR
 
Porque o RTOS não faz o que eu quero?

Data: 28/10 às 19:30h - Apoio: Mouser Electronics
 
INSCREVA-SE AGORA »



 
close-link