ST-LINK é possível a comunicação serial?

8

Estou usando a placa de descoberta STM32F4 e o Atollic TrueStudio para ARM Lite 3

Gostaria de passar alguns dados de depuração para o PC usando printf e não consigo encontrar uma maneira de fazê-lo através do STLink. Isso é possível? Parece um recurso essencial para qualquer processo de depuração.

Edit: Eu preciso usar o Serial Wire Viewer, mas ainda não tive sorte em fazê-lo funcionar.

Maciej Kucia
fonte
1
Se você conseguiu esse trabalho, poderia postar um exemplo, estou tendo o mesmo problema e não tive sorte. Eu escrevi minha própria função printf que usa a função _write no arquivo syscall base.
JWL

Respostas:

4

OK, a maneira de obter comunicação no Atollic TrueStudio para ARM Lite (sim, funciona sob uma versão leve desde a versão 3.0):

  1. Ativar o Visualizador de fio serial na configuração de depuração ativa
  2. Mostrar Console SWV (em Debug Prespective)
  3. Abra as configurações do Serial Wire Viewer (primeiro botão na janela do console SWV)
  4. Ativar porta 0 de estímulo do ITM
  5. Ative o botão Iniciar / Parar rastreamento no console SWV (segundo botão)
  6. Use a função ITM_SendChar
  7. Aproveite as seqüências de depuração!
Maciej Kucia
fonte
Isso também funciona no Keil uCVision com toda a família ulink jtag.
Katte
0

Ele está usando o Crossworks. No crossworks, usamos dbg_printf, mas é lento, seja avisado.

Ktc
fonte
0

Para todos os usuários do CrossWorks: a semi-hospedagem funciona, mas é lenta. Isso ocorre porque os trabalhos cruzados não passam dados de impressão pelo SWO, mas pela interface JTAG / SWD. Ele interrompe o uC e lê os dados do registro para exibição. Esteja ciente de que o uC para quando você estiver usando a função printf e o depurador estiver desconectado.

ciostek223
fonte