¿Existe una herramienta ICE universal?

-1

Solía trabajar en equipo que desarrollaba un producto basado en ARM v7 MCU pero solía ser programador de aplicaciones. Ahora profundizo en la electrónica con los tableros PIC / AVR / ARM como aficionado.

Utilizamos el programador / depurador Segger J-Link.

Ahora pienso comprar uno y frustrado por la variedad de posibles dispositivos de flasheo / depuración JTAG. Hay para ARM, para PIC, AVR, algunas placas FPGA ...

¿Realmente cada arco requiere su propio tipo de ICE incluso si todos estos dispositivos se conectan a través de JTAG?

Según enlace JTAG es especificaciones y protocolo para la conexión eléctrica a IC con el fin de realizar pruebas de exploración de límites .

Y de alguna manera el enlace JTAG se utiliza para flashear / depurar ...

¿Por qué la industria fabrica hardware especializado para comunicarse a través del enlace JTAG con el fin de usar flash / depuración en lugar de hacer un adaptador universal de USB a JTAG y realizar "magia" en una PC de propósito general?

El artículo de

enlace dice acerca de la emulación. Pero utilicé tableros reales con J-Link y el depurador muestra registros de hardware reales (valores mapeados de la memoria GPIO). ¿Dónde tiene lugar la emulación?

¿Es correcto que necesito actualizar el firmware de la herramienta ICE para trabajar con un nuevo tipo de núcleo?

    
pregunta gavenkoa

1 respuesta

1

Es difícil escribir una implementación de denominador común, ya que diferentes arquitecturas tienen capacidades de depuración completamente diferentes, y generalmente el IDE las conoce para ofrecérselas al usuario.

Por ejemplo, la mayoría de las CPU ARM tienen dos puntos de interrupción de hardware que definen un valor y una máscara de comparación para la dirección y los datos, y si la transferencia de datos es una búsqueda de instrucciones o no. El uso típico es usar uno para el punto de interrupción del software mediante la captura en la búsqueda de instrucciones de la palabra de instrucción designada como la instrucción de captura, y usar el otro para un único punto de observación de datos, pero esa no es siempre la configuración correcta, por ejemplo, un "run to cursor" en el código ROM podría necesitar una configuración completamente diferente.

En este punto, es posible que la IU deba comunicar al usuario que los puntos de control no están disponibles en combinación con "correr al cursor", y que una pila JTAG genérica y una IU necesitarían encontrar un modo de comunicación allí.

El eXdi2 de Microsoft es un intento de encontrar dicho protocolo, pero es de un nivel bastante alto y no puede manejar las arquitecturas más pequeñas y peculiares, porque para tener al menos algún tipo de especificación, tenían que hacer un número. de supuestos sobre la arquitectura de destino.

    
respondido por el Simon Richter

Lea otras preguntas en las etiquetas