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?
Respuesta
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.
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
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. –
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.
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.
- 1. Establecer un punto de interrupción en GDB
- 2. GoogleTest: cómo establecer un punto de interrupción?
- 3. gdb: establezca un punto de interrupción para un manejador SIGBUS
- 4. ¿Cómo saltar a un punto de interrupción dentro de gdb?
- 5. ¿Cómo establecer un punto de interrupción en gdb para todas las invocaciones de una función?
- 6. ¿Puedo establecer un punto de interrupción en 'acceso a memoria' en GDB?
- 7. gdb punto de interrupción en pthread_create
- 8. pausa gdb sin punto de interrupción
- 9. GDB cómo detener la ejecución sin un punto de interrupción?
- 10. configurando un punto de interrupción de salida de gdb no funciona?
- 11. ¿Es posible establecer un punto de interrupción en funciones anónimas?
- 12. depurador gdb múltiples archivos de origen
- 13. gdb, establecer punto de interrupción en todas las funciones en un archivo
- 14. Establecer el punto de interrupción en el código C o C++ programáticamente para gdb en Linux
- 15. Cómo agregar un punto de interrupción a objc_exception_throw?
- 16. Establecer un punto de interrupción en una plantilla T4
- 17. ¿Cómo funciona un depurador?
- 18. Establecer el punto de observación del hardware GDB/cómo configurar el punto de observación del software
- 19. Cómo simular un punto de interrupción Delphi en el código?
- 20. ¿Cómo establecer un punto de interrupción al hacer clic en un botón de terceros?
- 21. ¿Cómo establecer un punto de interrupción en un archivo de un proyecto que tiene muchos archivos con el mismo nombre?
- 22. El depurador no llega al punto de interrupción
- 23. ¿Cómo volver a un punto de interrupción durante la depuración?
- 24. Cómo establecer un punto de interrupción en un proyecto xcode dependiente
- 25. ¿cómo puedo poner un punto de interrupción en "algo está impreso en el terminal" en gdb?
- 26. ¿Por qué el depurador de scripts de Google Chrome no me permite establecer un punto de interrupción?
- 27. ¿Hay alguna forma de establecer un punto de interrupción en gdb que sea condicional en la pila de llamadas?
- 28. Después de establecer un punto de interrupción en Qt, el BGF dice: "Error de acceso a la dirección de memoria"
- 29. ¿Cómo funciona un depurador histórico?
- 30. Cómo establecer un punto de interrupción en un método dentro del marco .net
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