Vector de interrupción de PowerPC 0xfff00800

3

Esta es una posibilidad muy remota, y puede ser objeto de críticas por no ser una pregunta suficientemente EE para este sitio, pero ¿qué condiciones darán lugar a que un procesador PowerPC (por ejemplo, Freescale 7448) salte a la dirección 0xfff00800? Mi lectura del manual de referencia familiar sugiere que esto es una excepción de punto flotante no disponible, pero al hablar con la gente se ha sugerido que este es un lugar común donde los programas se van a morir con una mala instrucción de decodificación. Suponiendo que sea correcto, ¿hay alguna manera de recuperar lo que fue la instrucción errante a través de pinchar y pinchar con un depurador JTAG?

    
pregunta vicatcu

2 respuestas

1

Resulta que Flash no se asignó correctamente a través de un FPGA en el diseño y la "instrucción" 0xFFFFFFFF fue literalmente recuperada y ejecutada fuera de flash, dando como resultado el vector en cuestión. Tomó mucha depuración para llegar a esa conclusión.

    
respondido por el vicatcu
1

No conozco la arquitectura en cuestión, pero según el conocimiento general del procesador, ¿no podría examinar la pila para encontrar la PC (o equivalente) desde el momento en que se activó la interrupción y mirar la memoria señalada por eso? No necesitarías realmente JTAG, podrías hacerlo en la rutina de interrupción.

    
respondido por el Majenko

Lea otras preguntas en las etiquetas