Este documento explica los 1000003) mensajes de error del aborto 1M3 (, pues este ejemplo muestra:
#define ADDRESS_ERROR 1000003 /* Address error */
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.
Se registra este aborto cuando el procesador MC680x0 no recibe una señal de un dispositivo externo tal como un dispositivo de memoria de indicar que ha ocurrido la Transferencia de datos. Esto está generalmente porque el software especifica a una dirección no válida (inválida porque el puntero no se ha inicializado) o porque un dispositivo de hardware no puede proporcionar la señal de reconocimiento de la transferencia.
La porción de la punta de transferencia del servicio (SSP) del stack del error del software tiene este formato para los procesadores MC68040 como las placas del procesador de red (NPC) o las placas de controlador de banda ancha (BCC):
No. Type Number Data(Hex) PC(Hex) PROC SwRev Date Time 1. Abort 1000003 00000000 3001565C TRNS 9.3.45 08/04/03 03:14:53 SSP 30330660 10 00 30 15 10 9A 70 08 30 32 FD C0 01 01 00 01 ..0...p.02...... SSP 30330670 00 01 00 01 A4 22 C3 88 30 32 FD BC 00 00 00 0A ....."..02...... (Address error exception stack frame; p9-4 in MC68040 User's Manual) 1000 = status register 3015 109A = program counter 7 = stack frame type (access error) 0 08 = vector offset (8 = bus error) 3032 FDC0 = effective address 0101 = special status word 0001 = writeback 3 status 0001 = writeback 2 status 0001 = writeback 1 status A422 C388 = fault address 3032 FDBC = writeback 3 address 0000 000A = writeback 3 data
La mayoría de la información importante en este stack es la ubicación del aborto (contador de programa) y del direccionamiento que no pueden ser accedidos, que es la dirección de fallos.
Usted puede marcar el archivo Nmemmap.h para determinar si la dirección de fallos es un registro de hardware válido. En este ejemplo, el direccionamiento 0xA422C388is no un registro de hardware válido, así que el software intenta acceder a una dirección no válida. Un ejemplo de una falla de hardware es el error de uno de los registros del puerto paralelo responder. La dirección base de PAR_PTS es 0xA0000000.
Usted puede utilizar el programa en dirección contraria determina la ubicación que el software intenta acceder. La instrucción de armado prevista es moverse a una ubicación de memoria que un registro de dirección especifique. Ésta no pudo ser la instrucción en el contador de programa porque el procesador lee las instrucciones delante de la ejecución de las instrucciones. Tiene una arquitectura canalizada.
Esta secuencia de instrucciones genera un error del aborto 1M3 cuando una tentativa se hace para leer en el address1:
cmp.w #1234,Abort_Now BNE CK_PSOS move.l #1,A0 move.l (A0),D0 ;generate a bus error