ST-LINK es posible la comunicación en serie?

8

Estoy usando la placa de descubrimiento STM32F4 y Atollic TrueStudio para ARM Lite 3

Me gustaría pasar algunos datos de depuración a la PC usando printf y no puedo encontrar una manera de hacerlo a través de STLink. ¿Es posible? Parece característica esencial para cualquier proceso de depuración.

Editar: Necesito usar Serial Wire Viewer, pero todavía no tengo suerte para que funcione.

Maciej Kucia
fuente
1
Si esto funciona, ¿podría publicar un ejemplo? Estoy teniendo el mismo problema y no he tenido suerte. Escribí mi propia función printf que usa la función _write en el archivo syscall base.
JWL

Respuestas:

4

OK, la forma de lograr la comunicación en Atollic TrueStudio para ARM Lite (sí, funciona en versión lite desde 3.0):

  1. Habilite el visor de cable serie en la configuración de depuración activa
  2. Mostrar consola SWV (bajo la depuración prespectiva)
  3. Abra la configuración del Visor de cable serie (primer botón en la ventana de la consola SWV)
  4. Habilitar ITM Stimulus Port 0
  5. Habilite el botón Iniciar / Detener rastreo en la consola SWV (segundo botón)
  6. Utilice la función ITM_SendChar
  7. ¡Disfruta depurando cadenas!
Maciej Kucia
fuente
Esto también funciona en Keil uCVision con toda la familia ulink jtag.
Katte
0

Está usando Crossworks. En crossworks, usamos dbg_printf pero es lento, ten cuidado.

Ktc
fuente
0

Para todos los usuarios de CrossWorks: el semihosting funciona pero es lento. Esto se debe a que los trabajos cruzados no pasan datos de printf a través de SWO sino a través de la interfaz JTAG / SWD. Detiene uC y lee datos de registro para mostrar. Tenga en cuenta que uC se detiene cuando está utilizando la función printf y el depurador está desconectado.

ciostek223
fuente