Herramientas de Análisis Estático de Código Binario

Cálculo de Worst Case Execution Time (WCET)

Herramienta: TimeWeaver

Para los procesadores modernos de gran complejidad (muchos de ellos multi-core), es muy difícil realizar un modelo formal de los mecanismos de pipelinecache e interferencia entre cores.

 

En este caso, el cálculo del WCET no es posible realizarlo únicamente mediante análisis estático de código y es preciso utilizar técnicas mixtas de análisis y de medición de tiempos de ejecución.

Qué es TimeWeaver

TimeWeaver es un analizador híbrido que combina estas dos técnicas de cálculo del WCET. Las mediciones de tiempos de ejecución más precisas se obtienen mediante la captura de trazas hardware no intrusivas del microprocesador. Por tanto, TimeWeaver está disponible únicamente para procesadores con capacidad de trazado hardware y para tarjetas con conector de trazado tipo Nexus e interfaz tipo Aurora o similar. Adicionalmente, se requiere una sonda de depuración con capacidad de trazado hardware tipo Lauterbach o Green Hills Probe.

Para realizar el cálculo del WCET, TimeWeaver necesita:

  • El código binario ejecutable
  • Trazas de ejecución
  • Opcionalmente, el código fuente y anotaciones acerca de la arquitectura.

El resultado del análisis es similar al obtenido mediante aiT y tiene la suficiente precisión como para poder ser considerado como evidencias de certificación.

TimeWeaver está disponible para las siguientes arquitecturas y formatos de trazas:

PowerPC con capacidad para emitir mensajes de trazas de programa Nexus (IEEE-ISTO 5001, class 2 o superior):
ARM con trazado ETM con precisión de ciclo de reloj o trazas ULink Pro
Tricore

Familias de Procesadores y Compiladores Soportados

  • Cortex A53
  • Cortex R5F
  • AUDO Family (ie.g. TC1796)
  • AURIX Family (e.g. TC275)
  • AURIX 2nd Gen. Family (TC3xx)
  • QorlQ P Series (e500mc core)
  • QorlQ T Series (e5500, e6500 core)
  • Qorivva Line MPC55xx, MPC56Xxx MPC57xx (e200 core)

Suscríbete a nuestra newsletter