2012-04-01 22 views
7

estoy trabajando en la depuración con gdb. Quería saber cómo funciona gdb internamente para establecer un punto de referencia en un procesador integrado a través de JTAG.¿Cómo funciona un depurador como gdb para establecer un punto de interrupción a través de JTAG?

+0

posible duplicado de [Flujo de trabajo general JTAG en un sistema de desarrollo integrado?] (Http://stackoverflow.com/questions/3775445/general-jtag-working-flow-in-an-embedded-development-system) – Gilles

Respuesta

1

Es diferente para cada procesador, debe buscar los detalles del depurador jtag para el procesador específico. no solo la familia de procesadores, sino también un procesador específico. Las guías de las hojas de datos/usuarios, si están disponibles, normalmente están disponibles del proveedor del chip o del proveedor principal dependiendo del producto.

+0

lo que quiero saber es que después de conectar mi placa a la PC con un cable jtag, si escribo, por ejemplo, "bp 25" con GDB, lo que sucede inmediatamente después de ese comando para poder ejecutarlo con mi procesador integrado (Microblaze) JTAG? – jenje

+0

tiene que buscar ese procesador y los comandos jtag, podrían ser unos pocos miles de comandos diferentes que implementen esa única cosa. Una docena de maneras diferentes en que los procesadores manejan dicho comando, etc. Si no quiere buscar la hoja de datos, busque en las gdb soruces, gdb es de código abierto, las respuestas a sus preguntas están todas ahí en documentos abiertos y software. Reconstruya gdb, agregue algunos printfs, busque el código de interés. –

3

Programa un registro de punto de interrupción de hardware o coloca un punto de interrupción de software reemplazando la instrucción en el punto de interrupción con una instrucción que causará una excepción.

0

Las pocas veces que he usado GDB junto con una unidad JTAG, GDB se comunicó con JTAG utilizando un programa gdbserver que manejaba los detalles del JTAG. Por ejemplo, el uso de una unidad de OpenOCD JTAG: http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html

Esto significa esencialmente que el BGF no sabe casi nada acerca de la unidad JTAG - que se basa en la interfaz de gdbserver y ese servidor y luego hace lo que tiene que detrás de las escenas a hacer lo que pide GDB.

Cuestiones relacionadas