Nexus o IEEE-ISTO 5001-2003 es una interfaz de depuración estándar para sistemas embebidos .
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 amplio conjunto de funciones de depuración, minimizando al mismo tiempo el número de pines y el área del chip, y siendo independiente del procesador y la arquitectura. Además, admite diseños multinúcleo y multiprocesador. Por consiguiente, es comparable a la arquitectura de depuración ARM CoreSight.
Físicamente, la norma IEEE-ISTO 5001-2003 define un conjunto estándar de conectores para conectar la herramienta de depuración al sistema o dispositivo 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 dúplex completo y de mayor ancho de banda.
La funcionalidad clave de Nexus implica interacciones de solicitud/respuesta al estilo JTAG o paquetes transferidos a través del puerto de depuración , e incluye:
- Control en tiempo de ejecución ... En todas las implementaciones, las herramientas de depuración pueden iniciar y detener el procesador, modificar registros y ejecutar instrucciones de máquina paso a paso.
- Acceso a memoria ... Nexus admite el acceso a memoria mientras el procesador está en funcionamiento. Este acceso es necesario para depurar sistemas en los que no es posible detener el sistema bajo prueba. Un ejemplo es el control del motor, donde detener los bucles de retroalimentación digital puede generar situaciones físicamente peligrosas.
- Puntos de interrupción ... Los programas se detienen cuando ocurre un evento específico, un punto de interrupción . El evento puede especificarse 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 de Nexus pueden establecerse en cualquier dirección, incluyendo la memoria flash o ROM; las CPU también pueden proporcionar instrucciones especiales para puntos de interrupción.
- Se definen varios tipos de rastreo de eventos , que en su mayoría dependen de un puerto auxiliar de alta velocidad para descargar el gran volumen de datos sin afectar negativamente la ejecución del programa:
- El rastreo del programa ... El rastreo de bifurcaciones comprime los datos de ejecución del programa, emitiendo mensajes únicamente en las instrucciones de bifurcación o excepción. El análisis de rastreo reconstruye el flujo del programa utilizando una imagen local del contenido de la memoria del código.
- Seguimiento de datos ... Se puede realizar un seguimiento de los accesos a las ubicaciones de memoria, limitados por rango (dirección de inicio y de fin) y tipo de acceso (lectura o escritura).
- Rastreo 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 que se emita un mensaje de rastreo de propiedad.
- Sustitución de memoria y reemplazo de puertos ... Esta función permite emular el acceso a la memoria o a los puertos a través del puerto auxiliar Nexus.
- Adquisición de datos ... El prototipado rápido puede requerir la 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 empleado en el rastreo de datos. También facilita la calibración en aplicaciones automotrices.
También se permite una interfaz de programación de aplicaciones (API) de bajo nivel para ocultar detalles específicos del sistema, como el mecanismo de conexión con el host (por ejemplo, un emulador o un instrumento de calibración ) y los detalles de los registros Nexus específicos del procesador. Esta API es desarrollada conjuntamente por el proveedor de la herramienta y el fabricante del semiconductor.
Clases de cumplimiento
La norma IEEE-ISTO 5001-2003 es escalable; actualmente existen cuatro clases de conformidad con la norma, que van desde la clase básica (solo JTAG) Clase 1 hasta la Clase 4.
- La clase 1 admite el control en tiempo de ejecución (ejecución, detención, carga/descarga de memoria cuando el procesador está detenido, puntos de interrupción, lectura o modificación de registros) mediante la interfaz JTAG. Las comunicaciones son solo semidúplex y el ancho de banda es limitado. No admite el rastreo.
- La clase 2 añade el seguimiento de propiedad y el seguimiento del programa, y permite compartir el puerto de depuración auxiliar con los pines de los puertos de E/S "lentos". El seguimiento de propiedad permite realizar el seguimiento de la tarea o el proceso actual en sistemas basados en núcleos o sistemas operativos en tiempo real.
- La Clase 3 añade el seguimiento de escritura de datos y la lectura/escritura de memoria sobre la marcha sin detener la ejecución. 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 la compatibilidad con la adquisición de datos (visibilidad de los parámetros de datos relacionados almacenados en recursos internos, normalmente variables de calibración relacionadas) también pueden formar parte opcionalmente del cumplimiento de la Clase 3.
- La Clase 4 añade la sustitución de memoria (obtención o lectura de datos a través del puerto auxiliar Nexus) y permite que el rastreo se active mediante un punto de observación. Activar la sustitución de memoria mediante un punto de observación es una función opcional para cumplir con la Clase 4.
Véase también
Lecturas adicionales
- IEEE-ISTO 5001™-1999, el estándar Nexus 5001 Forum™: la puerta de entrada a los sistemas embebidos del futuro.
- IEEE-ISTO 5001-2003, Estándar del Foro Nexus 5001 para una interfaz global de depuración de procesadores integrados.
Enlaces externos
- Foro NEXUS 5001
- Nexus 5001 Forum Global Embedded Processor Debug Interface Standard , 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 embebidos del futuro , de Ashling Microsystems, Inc.
- Depuración
- estándares IEEE