You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.8 KiB
C
68 lines
1.8 KiB
C
/*
|
|
* File: exceptions.h
|
|
* Purpose: Generic exception handling for ColdFire processors
|
|
*
|
|
* Notes:
|
|
*/
|
|
|
|
#ifndef _MCF_EXCEPTIONS_H
|
|
#define _MCF_EXCEPTIONS_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/***********************************************************************/
|
|
/*
|
|
* This is the handler for all exceptions which are not common to all
|
|
* ColdFire Chips.
|
|
*
|
|
* Called by mcf_exception_handler
|
|
*
|
|
*/
|
|
void derivative_interrupt(unsigned long vector);
|
|
|
|
/***********************************************************************/
|
|
/*
|
|
* This is the exception handler for all exceptions common to all
|
|
* chips ColdFire. Most exceptions do nothing, but some of the more
|
|
* important ones are handled to some extent.
|
|
*
|
|
* Called by asm_exception_handler
|
|
*/
|
|
void mcf_exception_handler(void *framepointer);
|
|
|
|
|
|
/***********************************************************************/
|
|
/*
|
|
* This is the assembly exception handler defined in the vector table.
|
|
* This function is in assembler so that the frame pointer can be read
|
|
* from the stack.
|
|
* Note that the way to give the stack frame as argument to the c handler
|
|
* depends on the used ABI (Register, Compact or Standard).
|
|
*
|
|
*/
|
|
asm void asm_exception_handler(void);
|
|
|
|
/***********************************************************************/
|
|
/* MCF5xxx exceptions table initialization:
|
|
*
|
|
* Set VBR and performs RAM vector table initialization.
|
|
* The following symbol should be defined in the lcf:
|
|
* __VECTOR_RAM
|
|
*
|
|
* _vect is the start of the exception table in the code
|
|
* In case _vect address is different from __VECTOR_RAM,
|
|
* the vector table is copied from _vect to __VECTOR_RAM.
|
|
* In any case VBR is set to __VECTOR_RAM.
|
|
*/
|
|
void initialize_exceptions(void);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _MCF_EXCEPTIONS_H */
|
|
|