mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #8332 from SenRamakri/sen_RefactorFaultHandler
Refactoring fault handler implementationpull/8531/head
commit
2092e40b30
|
@ -68,7 +68,6 @@ UsageFault_Handler\
|
|||
Fault_Handler PROC
|
||||
EXPORT Fault_Handler
|
||||
#if (DOMAIN_NS == 1)
|
||||
IMPORT osRtxInfo
|
||||
IMPORT mbed_fault_handler
|
||||
IMPORT mbed_fault_context
|
||||
|
||||
|
@ -149,11 +148,9 @@ Fault_Handler_Continue2
|
|||
ADDS R1,#4
|
||||
MRS R2,CONTROL ; Get CONTROL Reg
|
||||
STR R2,[R1]
|
||||
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
|
||||
MOV R0,R12
|
||||
LDR R1,=mbed_fault_context
|
||||
LDR R2,=osRtxInfo
|
||||
BLX R3
|
||||
BL mbed_fault_handler
|
||||
#endif
|
||||
B . ; Just in case we come back here
|
||||
ENDP
|
|
@ -181,11 +181,9 @@ Fault_Handler_Continue2:
|
|||
ADDS R1,#4
|
||||
MRS R2,CONTROL // Get CONTROL Reg
|
||||
STR R2,[R1]
|
||||
LDR R3,=mbed_fault_handler // Load address of mbedFaultHandler
|
||||
MOV R0,R12
|
||||
LDR R1,=mbed_fault_context
|
||||
LDR R2,=osRtxInfo
|
||||
BLX R3
|
||||
BL mbed_fault_handler
|
||||
#endif
|
||||
B . // Just in case we come back here
|
||||
|
|
@ -63,7 +63,6 @@ UsageFault_Handler
|
|||
Fault_Handler
|
||||
EXPORT Fault_Handler
|
||||
#if (DOMAIN_NS == 1)
|
||||
IMPORT osRtxInfo
|
||||
IMPORT mbed_fault_context
|
||||
IMPORT mbed_fault_handler
|
||||
|
||||
|
@ -144,11 +143,9 @@ Fault_Handler_Continue2
|
|||
ADDS R1,#4
|
||||
MRS R2,CONTROL ; Get CONTROL Reg
|
||||
STR R2,[R1]
|
||||
LDR R3,=mbed_fault_handler ; Load address of mbedFaultHandler
|
||||
MOV R0,R12
|
||||
LDR R1,=mbed_fault_context
|
||||
LDR R2,=osRtxInfo
|
||||
BLX R3
|
||||
BL mbed_fault_handler
|
||||
#endif
|
||||
B . ; Just in case we come back here
|
||||
#endif ; #if (MBED_FAULT_HANDLER_SUPPORT == 1)
|
|
@ -14,13 +14,12 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "rtx_os.h"
|
||||
#include "device.h"
|
||||
#include "platform/mbed_error.h"
|
||||
#include "platform/mbed_interface.h"
|
||||
|
||||
#ifndef MBED_FAULT_HANDLER_DISABLED
|
||||
#include "mbed_rtx_fault_handler.h"
|
||||
#include "mbed_fault_handler.h"
|
||||
|
||||
//Functions Prototypes
|
||||
void print_context_info(void);
|
||||
|
@ -30,7 +29,7 @@ mbed_fault_context_t mbed_fault_context;
|
|||
|
||||
//This is a handler function called from Fault handler to print the error information out.
|
||||
//This runs in fault context and uses special functions(defined in mbed_rtx_fault_handler.c) to print the information without using C-lib support.
|
||||
void mbed_fault_handler (uint32_t fault_type, void *mbed_fault_context_in, void *osRtxInfoIn)
|
||||
void mbed_fault_handler (uint32_t fault_type, void *mbed_fault_context_in)
|
||||
{
|
||||
mbed_error_status_t faultStatus = MBED_SUCCESS;
|
||||
|
|
@ -14,8 +14,8 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef MBED_RTX_FAULT_HANDLER_H
|
||||
#define MBED_RTX_FAULT_HANDLER_H
|
||||
#ifndef MBED_FAULT_HANDLER_H
|
||||
#define MBED_FAULT_HANDLER_H
|
||||
|
||||
//Fault context struct
|
||||
//WARNING: DO NOT CHANGE THIS STRUCT WITHOUT MAKING CORRESPONDING CHANGES in except.S files.
|
||||
|
@ -52,7 +52,7 @@ typedef struct {
|
|||
#define USAGE_FAULT_EXCEPTION (0x40)
|
||||
|
||||
//This is a handler function called from Fault handler to print the error information out.
|
||||
//This runs in fault context and uses special functions(defined in mbed_rtx_fault_handler.c) to print the information without using C-lib support.
|
||||
void mbed_fault_handler (uint32_t fault_type, void *mbed_fault_context_in, void *osRtxInfoIn);
|
||||
//This runs in fault context and uses special functions(defined in mbed_fault_handler.c) to print the information without using C-lib support.
|
||||
void mbed_fault_handler (uint32_t fault_type, void *mbed_fault_context_in);
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue