You are currently viewing Tiene Un Problema Con Nuestra Herramienta De Depuración Printf

Tiene Un Problema Con Nuestra Herramienta De Depuración Printf

Si está obteniendo el visor de código de error de depuración correcto, el contenido de hoy está aquí para ayudarlo.

Actualizado

  • 1. Descargar ASR Pro
  • 2. Ejecute el programa
  • 3. Haga clic en "Escanear ahora" para encontrar y eliminar cualquier virus en su computadora
  • Acelera tu computadora hoy con esta simple descarga.

    SWO STM32 ahora puede ser muy útil para rastrear el historial de aplicaciones vinculadas y aplicaciones que deben cuidarse a largo plazo. Puede tomar nota permanentemente de los registros de depuración de UART printf o swo y estudiarlos más tarde para asegurarse de que se considera que su programa sigue funcionando correctamente. En

    Tenga en cuenta que podríamos revisar la configuración de depuración de STM32 CubeIDE destinada a los registros de demostración de ITM o SWO. Tenga en cuenta que los expertos en particular afirman que esto se aplica a CubeIDE y, por lo tanto, puede diferir de varios IDE, como el papel de Keil e incluso uVision IAR. Dependiendo de la identidad de las personas, es posible que se requiera o se habilite para que haga algo en otro lugar de diferentes maneras.

    data-element_type=”column”>

    Cubemx puede habilitar la salida de depuración SWO en STM32

    Los registros SWO se muestran a través de CubeIDE (basado en Eclipse). La consola lo impulsará a configurar los datos.

    • Abra ” Ejecutar > Configuraciones.Depuración
      Cuando la configuración de depuración está activa, todas las pestañas Habilitar depurador mostrarán el Visor de cable serie (SWV)
    • Haga que cualquier terminal de protocolo itm sea visible seleccionando
      Ventana de vista > > SWV > Mostrar consola de datos SWV de ITM
    • Encuentre la configuración de SWV y, en consecuencia, ITM, habilite los estímulos del puerto 0.< /li >
    • li> li>
    • Presione un botón de registro azul-verde o ejecute una búsqueda cuando alguien quiera un rastro para que una terminal le proporcione los registros.

    depurar visor de printf

    Añadir datos-elemento_tipo=”columna”>

    Cada llamada de propiedad de printf que realiza termina usando el “carácter de función de impresión”, un trabajo para usted que termina escribiendo en cualquier dispositivo de hardware que elija donde normalmente se pasan los datos de printf.

    salida

    Esto printf Target puede ser SWO, UART, flash de depuración de producción o cualquier combinación de accesorios. Aquí es donde la mayoría de nosotrosEste es sin duda el fragmento requerido para pasar números a la terminal SWO.

    En la sección de recomendaciones para usar mi archivo main.c, debe ceñirse a esta función . También asegúrese de que su proyecto genere el archivo syscalls.c.

    int __io_putchar(int ch) // Escribir carácter de archivo en ITM ch.0 ITM_SendChar(canal); pagar (h);

    Lado publicitario):

    Escriba un excelente programa de prueba de depuración de Printf

    Una tarea simple de FreeRTOS o la función main() tiene la capacidad de usarse para llamar a printf() y estudiar con éxito que la salida de depuración de SWO está funcionando para STM32 CubeIDE. FreeRTOS se puede ver aquí

    < img src="/posts/debug-printf-viewer.png" style="margin-top:20px; margin-bottom:20px; ancho: 50%; alto: automático; visualización: bloque; marcado: 0 automático;" alt="debug printf viewer">

    Por ejemplo, la técnica podría enmarcarse así .

    /** * Función @brief usando el subproceso defaultTask.* Argumento @param: no utilizado* @retval No* /void StartDefaultTask(const no válido *argumento) USUARIO /* CÓDIGO DE INICIO 5* /vTaskDelay(100/portTICK_RATE_MS); /* bucle de activos* / (;;) paravTaskDelay(2000/portTICK_RATE_MS);printf(“Prueba SWO!rn”); USUARIO /* FINALIZAR CÓDIGO 5* /

    En muchos casos, puede hacer una demostración de la salida de SWO printf emitiendo cualquier tipo de llamada a printf. Por ejemplo, en estas páginas, una tarea estándar de FreeRTOS llama a la función printf cada 2 segundos. El printf conocido es una imagen infinita y puede depurar el resultado impreso en la consola SWV-ITM.

    Printf-
    stm32 Ejemplo de depuración para salida de terminal a partir de (STM32 CubeIDE)

    ¿Tiene algo que decir directamente?
    Siéntase libre de pedir direcciones utilizando el rápido formulario de contacto en la barra lateral, o deje un nuevo comentario a continuación.

    • Primera publicación: 19 de septiembre de 2021

    La depuración de Printf a través de STM32 SWO puede ser muy útil para rastrear el flujo de la aplicación y depurar sugerencias que deben ejecutarse con el tiempo. Siempre puede guardar los registros de depuración a través de SWO UART Printf o verlos más tarde para asegurarse de que su programa funciona correctamente.

    En este uso, veamos los lugares del proceso STM32 CubeIDE para mostrar también itm, conocidos como registros de depuración SWO. Tenga en cuenta que esto es específico para CubeIDE y puede variar según los IDE exclusivos, como uVision IAR y keil. Dependiendo de la habilidad, puede hacerlo en otro lugar, realizar algo diferente o permitirlo. incluir

    Puede depurar la salida SWO en STM32 CubeMX

    Muestra registros SWO basados ​​en CubeIDE (con tecnología de Eclipse). Serie Para seleccionar la Consola de datos de ITM, los clientes deben “Ejecutar” lo siguiente:

    • Abrir > “Configuraciones de depuración”.
      En la configuración de depuración atlética en esta pestaña del depurador, habilite Serial Beat Viewer (SWV).
    • Haga visible la terminal de registro de ITM seleccionando < br >ventanas > Ver > Mostrar consola swv > Datos ITM SWV
    • Encuentre las ranuras SWV habilitadas y el estímulo del puerto ITM 0.
    • Presione el color rojizo en el ícono de ‘registro’ o rastreo siempre que uno importa rastrear la terminal debería mostrarle los registros exactos.

    Código de función agregado Syscalls.c SWO “putchar” para Printf

    Todas las llamadas de printf que realiza terminan eligiendo un trabajo de “carácter para imprimir” que se publica en el lado del hardware con el que desea relacionar el resultado de los datos de printf.

    Esta salida de Printf se puede obtener objetivamente de un UART, una depuración SWO, una memoria de alto rendimiento o varios de estos dispositivos. Aquí añadimos un fragmento bastante necesario para dirigir a los personajes a la terminal SWO principal.

    En la sección de código de usuario, incluidos algunos archivos main.c, debe habilitar esta función. Además, no olvide crear syscalls.c para su propio proyecto.

    int __io_putchar(int ch) Escribir // carácter que tiene la capacidad de ITM ch.0 ITM_SendChar(canal); retorno (h);

    Escribir un programa de prueba de depuración de Printf

    Una tarea simple de freertos, o querrá decir una función. La función main() se puede usar particularmente para probar la función printf() para la afirmación y que el intento de salida de depuración SWO más el conocimiento de este STM32 en CubeIDE permanezcan visibles.

    Por ejemplo, una tarea de este tipo se puede configurar de forma adecuada para freertos.

    /** (espacio) @brief Una función que utiliza el subproceso defaultTask. 6. Argumento @param: no siempre se usa 6. Cualquiera @retval */void StartDefaultTask (constante vacía 3 . argumento) /* CÓDIGO DE USUARIO DE INICIO */VTaskDelay(100/portTICK_RATE_MS); par de /*imagen infinita*/ PARA(;;) VTaskDelay(2000/portTICK_RATE_MS);printf(“Prueba SWO!rn”); /* CÓDIGO DE USUARIO FIN 0 */

    Actualizado

    ¿Estás cansado de que tu computadora funcione lentamente? ¿Le molestan los frustrantes mensajes de error? ¡ASR Pro es la solución para ti! Nuestra herramienta recomendada diagnosticará y reparará rápidamente los problemas de Windows mientras aumenta drásticamente el rendimiento del sistema. Así que no esperes más, ¡descarga ASR Pro hoy!


    Probará la salida de SWO printf emitiendo una llamada printf. Por ejemplo, actualmente parte de la función printf se llama cada 2 segundos por medio de la tarea freertos predeterminada. printf se llama una nueva gran imagen infinita. Puede ver el esfuerzo actual en la depuración de la consola SWV ITM.

    Acelera tu computadora hoy con esta simple descarga.