]> begriffs open source - cmsis-freertos/blob - Demo/ColdFire_MCF52221_CodeWarrior/sources/exceptions.h
Update README.md - branch main is now the base branch
[cmsis-freertos] / Demo / ColdFire_MCF52221_CodeWarrior / sources / exceptions.h
1 /*
2  * File: exceptions.h
3  * Purpose: Generic exception handling for ColdFire processors
4  *
5  * Notes:
6  */
7
8 #ifndef _MCF_EXCEPTIONS_H
9 #define _MCF_EXCEPTIONS_H
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 /***********************************************************************/
16 /*
17  * This is the handler for all exceptions which are not common to all 
18  * ColdFire Chips.  
19  *
20  * Called by mcf_exception_handler
21  * 
22  */
23 void derivative_interrupt(unsigned long vector);
24
25 /***********************************************************************/
26 /*
27  * This is the exception handler for all  exceptions common to all 
28  * chips ColdFire.  Most exceptions do nothing, but some of the more 
29  * important ones are handled to some extent.
30  *
31  * Called by asm_exception_handler 
32  */
33 void mcf_exception_handler(void *framepointer);
34
35
36 /***********************************************************************/
37 /*
38  * This is the assembly exception handler defined in the vector table.  
39  * This function is in assembler so that the frame pointer can be read  
40  * from the stack.
41  * Note that the way to give the stack frame as argument to the c handler
42  * depends on the used ABI (Register, Compact or Standard).
43  *
44  */
45 asm void asm_exception_handler(void);
46
47 /***********************************************************************/
48 /* MCF5xxx exceptions table initialization:
49  *
50  * Set VBR and performs RAM vector table initialization.
51  * The following symbol should be defined in the lcf:
52  * __VECTOR_RAM
53  *
54  * _vect is the start of the exception table in the code
55  * In case _vect address is different from __VECTOR_RAM,
56  * the vector table is copied from _vect to __VECTOR_RAM.
57  * In any case VBR is set to __VECTOR_RAM.
58  */ 
59 void initialize_exceptions(void);
60
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66 #endif   /* _MCF_EXCEPTIONS_H */
67