Pregunta

Estoy tratando de producir una línea de tiempo para mi código incrustado en tiempo real. Necesito mostrar todas las interrupciones, qué las desencadena, cuándo reciben servicio, cuánto tiempo se ejecutan, etc. He realizado el perfil y tengo los datos sin procesar, ahora necesito una forma de mostrar la línea de tiempo gráficamente, a escala.

He estado buscando una buena herramienta, pero aún no he encontrado nada bueno. Todo lo que he encontrado funciona en plazos de días y años. Quiero un gráfico que muestre un solo ciclo de 2 milisegundos. Por ahora estoy usando Visio, pero sigo pensando que debe haber algo más fácil. ¿Alguna idea?

Espero producir algo como esto: .
Desafortunadamente, el mío es más complicado, pero esa es la idea general.

¿Fue útil?

Solución

Entonces, a esa escala, tus abscisas serán un número puro (por ejemplo, microsegundos desde la hora de inicio, o algo así). Las herramientas gráficas para graficar cosas como esta son comunes.

Sugeriría algo como gnuplot , pero sospecho que el problema tiene más de lo que es evidente en su resumen.

Ah, la imagen lo hace todo mucho más claro. Si gnuplot no lo hace por usted, le ofreceré otra sugerencia (o al menos le diré lo que haría): escríbala desde cero.

Específicamente, probablemente juntaría algo en un lenguaje de script (ruby, python, lo que sea) para leer los datos y generar código que se veía como yo quería. Si decide seguir esa ruta, aquí hay un descripción general de los conceptos básicos de la imagen y también el manual . Si profundizas, deberías tener algo plausible en una hora y en una semana tendrás algo que se adapte mejor a ti que cualquier aplicación GUI estándar.

Otros consejos

Siento por ti. En mi sistema, tenemos un ciclo de 1.1 milisegundos y 13 puntos de medición en 4 componentes diferentes. Sospecho que te enfrentas a una complejidad similar.

Malas noticias es que no hay soluciones disponibles que yo sepa. Sin embargo, MarkusQ está en lo correcto al afirmar que puede usar (¿abuso?) Paquetes de gráficos estándar para lograr lo que necesita. Pero deberá invertir algo de tiempo para personalizar la salida a su gusto.

Hacemos un uso extensivo del R Project impulsado por el código Python a través de RPy R / Python bridge para generar nuestras parcelas. Esta configuración funciona muy bien para nosotros y nos ha permitido automatizar el proceso. Python se usa para adquirir y limpiar los datos del sistema en tiempo real y R hace el dibujo.

El soporte de personalización de gráficos de R es extenso, lo que le permite controlar todos los aspectos de la trama, ubicaciones, tamaños, etc. Puede ser intimidante al principio, pero hay un excelente libro Gráficos R que ayuda con un compañero sitio web que contiene todos los ejemplos del libro .

Elija lo que elija, asegúrese de que haya la capacidad de automatizar mediante secuencias de comandos. La cantidad de datos que generan los sistemas en tiempo real es demasiado difícil de manejar sin herramientas flexibles.

gtkwave podría usarse

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top