tm4c1294ncpdt_startup_ccs.c
void prvGetRegistersFromStack( uint32_t *pulFaultStackAddress )
{
	/* These are volatile to try and prevent the compiler/linker optimising them
	away as the variables never actually get used.  If the debugger won't show the
	values of the variables, make them global my moving their declaration outside
	of this function. */

	volatile uint32_t r0;
	volatile uint32_t r1;
	volatile uint32_t r2;
	volatile uint32_t r3;
	volatile uint32_t r12;
	volatile uint32_t lr; /* Link register. */
	volatile uint32_t pc; /* Program counter. */
	volatile uint32_t psr;/* Program status register. */

    r0 = pulFaultStackAddress[ 0 ];
    r1 = pulFaultStackAddress[ 1 ];
    r2 = pulFaultStackAddress[ 2 ];
    r3 = pulFaultStackAddress[ 3 ];

    r12 = pulFaultStackAddress[ 4 ];
    lr = pulFaultStackAddress[ 5 ];
    pc = pulFaultStackAddress[ 6 ];
    psr = pulFaultStackAddress[ 7 ];

    /* When the following line is hit, the variables contain the register values. */
    for( ;; );
}
//*****************************************************************************
//
// This is the code that gets called when the processor receives a fault
// interrupt.  This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
This is the code that gets called when the processor receives a fault
interrupt.  This simply enters an infinite loop, preserving the system state
for examination by a debugger.
This is the code that gets called when the processor receives a fault interrupt . This simply enters an infinite loop preserving the system state for examination by a debugger .
void prvGetRegistersFromStack( uint32_t *pulFaultStackAddress )
{
	volatile uint32_t r0;
	volatile uint32_t r1;
	volatile uint32_t r2;
	volatile uint32_t r3;
	volatile uint32_t r12;
	volatile uint32_t lr; 
	volatile uint32_t pc; 
	volatile uint32_t psr;
    r0 = pulFaultStackAddress[ 0 ];
    r1 = pulFaultStackAddress[ 1 ];
    r2 = pulFaultStackAddress[ 2 ];
    r3 = pulFaultStackAddress[ 3 ];
    r12 = pulFaultStackAddress[ 4 ];
    lr = pulFaultStackAddress[ 5 ];
    pc = pulFaultStackAddress[ 6 ];
    psr = pulFaultStackAddress[ 7 ];
    for( ;; );
}
void prvGetRegistersFromStack ( uint32_t * pulFaultStackAddress ) { volatile uint32_t r0 ; volatile uint32_t r1 ; volatile uint32_t r2 ; volatile uint32_t r3 ; volatile uint32_t r12 ; volatile uint32_t lr ; volatile uint32_t pc ; volatile uint32_t psr ; r0 = pulFaultStackAddress [ 0 ] ; r1 = pulFaultStackAddress [ 1 ] ; r2 = pulFaultStackAddress [ 2 ] ; r3 = pulFaultStackAddress [ 3 ] ; r12 = pulFaultStackAddress [ 4 ] ; lr = pulFaultStackAddress [ 5 ] ; pc = pulFaultStackAddress [ 6 ] ; psr = pulFaultStackAddress [ 7 ] ; for ( ; ; ) ; }
This is the code that gets called when the processor receives a fault
interrupt.
This is the code that gets called when the processor receives a fault interrupt .
/* These are volatile to try and prevent the compiler/linker optimising them
	away as the variables never actually get used.  If the debugger won't show the
	values of the variables, make them global my moving their declaration outside
	of this function. */ /* Link register. */ /* Program counter. */ /* Program status register. */ /* When the following line is hit, the variables contain the register values. */