71 #if 0 |
71 #if 0 |
72 // would like to say this |
72 // would like to say this |
73 __EH_FRAME_SAVE1(r4-r11, -48) |
73 __EH_FRAME_SAVE1(r4-r11, -48) |
74 // but the macro expansion gives rise to odd code so we do what follows |
74 // but the macro expansion gives rise to odd code so we do what follows |
75 #endif |
75 #endif |
76 #ifdef __ARMCC__ |
76 #if defined(__ARMCC__) |
77 FRAME SAVE {r4-r11}, -48 |
77 FRAME SAVE {r4-r11}, -48 |
|
78 #elif defined(__GCCE__) |
|
79 __EH_FRAME_SAVE1(r4-r11,-48) |
|
80 #else |
|
81 #error What compiler? |
78 #endif |
82 #endif |
|
83 |
79 |
84 |
80 asm("bic sp, sp, #4 "); // align stack to 8 byte boundary |
85 asm("bic sp, sp, #4 "); // align stack to 8 byte boundary |
81 // asm("bl " CSM_ZN4User15HandleExceptionEPv ); |
86 // asm("bl " CSM_ZN4User15HandleExceptionEPv ); |
82 asm("bl _xxxx_call_user_handle_exception "); |
87 asm("bl _xxxx_call_user_handle_exception "); |
83 asm("add sp, r11, #16 "); // skip exc type, exc code, FAR, FSR |
88 asm("add sp, r11, #16 "); // skip exc type, exc code, FAR, FSR |