Interfaz de depuración para sistemas integrados
Nexus o IEEE-ISTO 5001-2003 es una interfaz de depuración estándar para sistemas integrados .
Características
El conjunto de funciones IEEE-ISTO 5001-2003 (Nexus) se basa en las implementaciones de depuración en chip actuales, la mayoría de las cuales son específicas del procesador. Su objetivo es crear un rico conjunto de funciones de depuración minimizando al mismo tiempo el número de pines y el área de matriz necesarios, y siendo independiente tanto del procesador como de la arquitectura. También admite diseños multinúcleo y multiprocesador. En consecuencia, es comparable a la arquitectura de depuración ARM CoreSight.
Físicamente, IEEE-ISTO 5001-2003 define un conjunto estándar de conectores para conectar la herramienta de depuración al objetivo o sistema bajo prueba . Lógicamente, los datos se transfieren mediante un protocolo basado en paquetes. Este protocolo puede ser JTAG (IEEE 1149.1); o, para sistemas de alta velocidad, se puede utilizar un puerto auxiliar que admita transferencias full duplex y de mayor ancho de banda.
La funcionalidad clave de Nexus implica interacciones de solicitud/respuesta estilo JTAG o paquetes transferidos a través del puerto de depuración e incluye:
- Control del tiempo de ejecución ... Con todas las implementaciones, las herramientas de depuración pueden iniciar y detener el procesador, modificar registros e instrucciones de máquina de un solo paso.
- Acceso a la memoria ... Nexus admite el acceso a la memoria mientras el procesador está en ejecución. Dicho acceso es necesario al depurar sistemas en los que no es posible detener el sistema bajo prueba. Los ejemplos incluyen el control del motor, donde detener los bucles de retroalimentación digital puede crear situaciones físicamente peligrosas. [ se necesita aclaración ]
- Puntos de interrupción ... Los programas se detienen cuando ocurre un evento específico, un punto de interrupción . El evento se puede especificar como una dirección de ejecución de código o como un acceso a datos (lectura o escritura) a una dirección con un valor específico. Los puntos de interrupción Nexus se pueden establecer en cualquier dirección, incluida la memoria flash o ROM; Las CPU también pueden proporcionar instrucciones especiales de punto de interrupción.
- Se definen varios tipos de seguimiento de eventos , que en su mayoría dependen de un puerto auxiliar de alta velocidad para descargar datos voluminosos sin afectar negativamente la ejecución del programa:
- Seguimiento del programa ... El seguimiento de ramas comprime los datos de ejecución del programa, emitiendo mensajes en las ramas o instrucciones de excepción únicamente. El análisis de seguimiento reconstruye el flujo del programa utilizando una imagen local del contenido de la memoria del código.
- Seguimiento de datos ... Los accesos a ubicaciones de memoria pueden ser rastreados, limitados por el rango (dirección de inicio y finalización) y el tipo de acceso (lectura o escritura).
- Seguimiento de propiedad ... Un sistema operativo (SO, posiblemente un RTOS ) puede escribir un identificador de tarea en un registro Nexus al cambiar de tarea, lo que obliga a emitir un mensaje de seguimiento de propiedad.
- Sustitución de memoria y reemplazo de puertos ... Esta característica permite emular accesos a memoria o puertos a través del puerto auxiliar Nexus.
- Adquisición de datos ... La creación rápida de prototipos puede requerir una transferencia rápida de grandes cantidades de datos a través del puerto auxiliar a las herramientas de depuración. Utiliza un protocolo más eficiente que el utilizado en el seguimiento de datos. También ayuda a la calibración en aplicaciones automotrices.
También se permite una interfaz de programación de aplicaciones (API) de bajo nivel para enmascarar detalles específicos del objetivo, como el mecanismo de conexión del host (como un emulador o un instrumento de calibración [ se necesita aclaración ] ) y los detalles del registro Nexus específicos del procesador. Esta API es producida conjuntamente por el proveedor de herramientas y semiconductores.
Clases de cumplimiento
IEEE-ISTO 5001-2003 es un estándar escalable; Actualmente existen cuatro clases de cumplimiento del estándar, que van desde la Clase 1 básica (solo JTAG) hasta la Clase 4.
- La Clase 1 admite el control del tiempo de ejecución (ejecutar, detener, cargar/descargar memoria cuando el procesador está detenido, puntos de interrupción, leer o configurar registros) mediante la interfaz JTAG. Las comunicaciones son sólo semidúplex y el ancho de banda es limitado. No se admite el seguimiento.
- La clase 2 agrega seguimiento de propiedad y seguimiento de programa y permite que el puerto de depuración auxiliar se comparta con pines de puerto de E/S "lentos". El seguimiento de propiedad permite el seguimiento de la tarea actual o del proceso actual para sistemas basados en kernels o sistemas operativos en tiempo real.
- La clase 3 agrega seguimiento de escritura de datos y lectura/escritura de memoria sobre la marcha sin detener la ejecución. También se pueden incluir el seguimiento de lectura/escritura de datos, el uso compartido del puerto auxiliar con puertos de E/S de alta velocidad, como el bus de direcciones/datos, y el soporte para la adquisición de datos (visibilidad de los parámetros de datos relacionados almacenados en recursos internos, generalmente variables de calibración relacionadas). opcionalmente parte del cumplimiento de Clase 3.
- La clase 4 agrega sustitución de memoria (obtener o leer datos a través del puerto auxiliar Nexus) y permite que un punto de vigilancia active el rastreo. Activar la sustitución de memoria en un punto de vigilancia es una característica opcional del cumplimiento de Clase 4.
Ver también
Otras lecturas
- IEEE-ISTO 5001™-1999, el estándar Nexus 5001 Forum™: proporciona la puerta de entrada a los sistemas integrados del futuro
- IEEE-ISTO 5001-2003, el estándar del foro Nexus 5001 para una interfaz de depuración de procesador integrado global
enlaces externos
- Foro NEXUS 5001
- Estándar global de interfaz de depuración del procesador integrado Nexus 5001 Forum, por William Wong
- Análisis multinúcleo simplificado con la especificación de depuración Nexus 5001, por el Dr. Neal Stollon
- El estándar de depuración NEXUS: puerta de entrada a los sistemas integrados del futuro, por Ashling Microsystems, Inc.