STM32 Tiempo de ejecución

2

Estoy trabajando con un tablero de descubrimiento STM32F4 y quiero calcular cuánto tiempo lleva hacer algunas tareas. Estoy usando Atollic con un depurador SW4STM32. No puedo averiguar cómo hacerlo.

He leído algo sobre el envío de mensajes a la consola y luego medir ese tiempo, pero no sé cómo enviar mensajes a la consola. ¿Me puedes ayudar? ¡Gracias!

    
pregunta Gonzalo Cervetti

3 respuestas

4

Además de otras respuestas, puede usar un osciloscopio si tiene uno.

Al comienzo de su tarea, establezca un pin no utilizado (o un LED, etc.) alto. A continuación, configúrelo directamente después de que se complete la tarea. El o-scope puede mostrarle la duración.

    
respondido por el bitsmack
3

1) Use el generador de perfiles incluido con su compilador (si tiene uno)
2) Use uno de los temporizadores, inicie el temporizador justo antes y después del código que desea medir.
3) Mire el código de ensamblaje e inicie conteo de ciclos de reloj encontrándolos en el manual de programación y encontrando cuántos ciclos de reloj se utilizarán, obtenga el número total de ciclos de reloj y multiplíquelo por la frecuencia central.

    
respondido por el laptop2d
2

Por lo general, alterno un pin y mido el tiempo usando un osciloscopio. Este es el método menos propenso a errores. Si desea hacerlo en código, le sugiero que utilice el temporizador de systick configurado en precisión de microsegundos (SystemCoreClock / 1000000). Sin embargo, esto siempre tiene tendencia a la deriva en función de la precisión del cristal principal, por lo que es posible que desee utilizar rtc para contar exactamente cuántos ciclos obtiene en 1s y luego escalar sus resultados en consecuencia.

    
respondido por el Martin

Lea otras preguntas en las etiquetas